我想问问为什么我在设置TextView
的文本时出现错误。我在这里查看初学者的布局,但textview是在我的游戏布局。那可能吗?这里是我的代码:更改Textview中的错误?
public class Beginner extends Activity
{
Button beginner1, beginner2;
TextView category;
@Override
protected void onCreate(Bundle MainPage)
{
super.onCreate(MainPage);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.beginner);
beginner1 = (Button) findViewById(R.id.btnBeginner1);
beginner2 = (Button) findViewById(R.id.btnBeginner2);
beginner1.setOnClickListener(myOnlyhandler);
beginner2.setOnClickListener(myOnlyhandler);
category = (TextView) findViewById(R.id.tvCategory);
}
View.OnClickListener myOnlyhandler = new View.OnClickListener(){
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
switch(v.getId()) {
case R.id.btnBeginner1:
Intent openBeginner = new Intent("com.thesis.logipic.GAMEPLAY");
startActivity(openBeginner);
category.setText("Category");
break;
case R.id.btnBeginner2:
Intent openBeginner2 = new Intent("com.thesis.logipic.GAMEPLAY");
startActivity(openBeginner2);
category.setText("Category");
break;
}
}
};
}
这是从我的logcat错误:
10-08 21:26:30.486: D/AndroidRuntime(1019): Shutting down VM
10-08 21:26:30.486: W/dalvikvm(1019): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
10-08 21:26:30.506: E/AndroidRuntime(1019): FATAL EXCEPTION: main
10-08 21:26:30.506: E/AndroidRuntime(1019): java.lang.NullPointerException
10-08 21:26:30.506: E/AndroidRuntime(1019): at com.thesis.logipic.Beginner$1.onClick(Beginner.java:42)
10-08 21:26:30.506: E/AndroidRuntime(1019): at android.view.View.performClick(View.java:2408)
10-08 21:26:30.506: E/AndroidRuntime(1019): at android.view.View$PerformClick.run(View.java:8816)
10-08 21:26:30.506: E/AndroidRuntime(1019): at android.os.Handler.handleCallback(Handler.java:587)
10-08 21:26:30.506: E/AndroidRuntime(1019): at android.os.Handler.dispatchMessage(Handler.java:92)
10-08 21:26:30.506: E/AndroidRuntime(1019): at android.os.Looper.loop(Looper.java:123)
10-08 21:26:30.506: E/AndroidRuntime(1019): at android.app.ActivityThread.main(ActivityThread.java:4627)
10-08 21:26:30.506: E/AndroidRuntime(1019): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 21:26:30.506: E/AndroidRuntime(1019): at java.lang.reflect.Method.invoke(Method.java:521)
10-08 21:26:30.506: E/AndroidRuntime(1019): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-08 21:26:30.506: E/AndroidRuntime(1019): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-08 21:26:30.506: E/AndroidRuntime(1019): at dalvik.system.NativeStart.main(Native Method)
10-08 21:26:32.466: I/Process(1019): Sending signal. PID: 1019 SIG: 9
正如你所说你正试图访问TextView,这是在单独的XML资源,我不认为这是可能的。尝试在Beginner.java中创建TextView programaticaly –
Beginner.java的第42行是什么? –
我认为第42行是:'category.setText(“Category”);',由于类'TextView'的NPE在'beginner'布局中不存在。 –