我正在创建一个File IO项目,而且我的组件视图出现问题。我知道它有我的TextView的东西,但我是一个新手,不能弄明白。这是下面的代码:java.lang.RuntimeException:无法使用TextView启动活动ComponentInfo
package com.IPR2.viewlog;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class Main extends Activity {
public TextView tv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
FileOperations fileOperations = new FileOperations();
Testing testing = new Testing();
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.TextView01);
testing.checkExternalMedia();
//fileOperations.CreateFile("example.txt");
}
}
这里是日志吧:
02-13 19:54:47.199: W/dalvikvm(1533): threadid=1: thread exiting with uncaught exception (group=0x40015560)
02-13 19:54:47.209: E/AndroidRuntime(1533): FATAL EXCEPTION: main
02-13 19:54:47.209: E/AndroidRuntime(1533): {com.IPR2.viewlog/com.IPR2.viewlog.ViewLog}: java.lang.NullPointerException
02-13 19:54:47.209: E/AndroidRuntime(1533): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
02-13 19:54:47.209: E/AndroidRuntime(1533): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-13 19:54:47.209: E/AndroidRuntime(1533): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-13 19:54:47.209: E/AndroidRuntime(1533): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-13 19:54:47.209: E/AndroidRuntime(1533): at android.os.Handler.dispatchMessage(Handler.java:99)
02-13 19:54:47.209: E/AndroidRuntime(1533): at android.os.Looper.loop(Looper.java:130)
02-13 19:54:47.209: E/AndroidRuntime(1533): at android.app.ActivityThread.main(ActivityThread.java:3683)
02-13 19:54:47.209: E/AndroidRuntime(1533): at java.lang.reflect.Method.invokeNative(Native Method)
02-13 19:54:47.209: E/AndroidRuntime(1533): at java.lang.reflect.Method.invoke(Method.java:507)
02-13 19:54:47.209: E/AndroidRuntime(1533): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-13 19:54:47.209: E/AndroidRuntime(1533): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-13 19:54:47.209: E/AndroidRuntime(1533): at dalvik.system.NativeStart.main(Native Method)
02-13 19:54:47.209: E/AndroidRuntime(1533): Caused by: java.lang.NullPointerException
02-13 19:54:47.209: E/AndroidRuntime(1533): at com.IPR2.viewlog.Testing.checkExternalMedia(Testing.java:43)
02-13 19:54:47.209: E/AndroidRuntime(1533): at com.IPR2.viewlog.ViewLog.onCreate(ViewLog.java:31)
02-13 19:54:47.209: E/AndroidRuntime(1533): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-13 19:54:47.209: E/AndroidRuntime(1533): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-13 19:54:47.209: E/AndroidRuntime(1533): ... 11 more
我使用另一个类,并呼吁tv.append(“文件没有保存!”)作为调试。如果我评论一下,问题就会消失。我想我不正确地处理它,并且知道它应该很容易修复。我知道我可以用其他方式进行调试,但我想了解如何做到这一点,我想不会再出现此错误是这样的:]
package com.IPR2.viewlog;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import android.os.Environment;
import android.widget.Toast;
public class FileOperations extends Main{
public void CreateFile(String fileName)
{
try {
File root = new File(Environment.getExternalStorageDirectory(),
"Nullwall");
if (!root.exists()) {
root.mkdirs();
}
tv.append("\nLog File Created In Directory: " + root);
File gpxfile = new File(root, fileName);
FileWriter writer = new FileWriter(gpxfile, true);
writer.write("");
writer.flush();
writer.close();
Toast.makeText(this, fileName + " Log Successfully Created!",
Toast.LENGTH_SHORT).show();
} catch (IOException e) {
tv.append(" \n File not Saved! CreateLogFile() Broken!");
}
}
我觉得在设计中真的不太好,为什么FileOperations扩展Main? – kosa 2012-02-13 20:41:29
就像我说的,新手!我试图让电视工作。有关你如何做的建议?我一直在努力学习。 – PeterL 2012-02-13 21:08:30