【发布时间】:2012-01-12 19:53:43
【问题描述】:
大家好,我正在努力解决一个奇怪的问题。 我将 ViewFlipper 更改为 ViewPager,因为我的应用程序崩溃了。我发现崩溃的不是 Viewpager,而是 button.setOnClickListener 方法。我注释掉了其他所有内容,因此我注意到如果我使用该方法注释掉我的两个按钮,该应用程序可以正常工作。这不是 onClick() 里面的东西,我试了一下,即使它是空的,它也会崩溃。但这是我与之抗争的一些代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MyPagerAdapter adapter = new MyPagerAdapter();
ViewPager myPager = (ViewPager)findViewById(R.id.pager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(1);
new Toolbox();
push = (Button)findViewById(R.id.pushbutton);
push.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
head=head_field.getText().toString();
note=note_field.getText().toString();
try {
Toolbox.createTask(userToken,task, Dashboard_id, head, note, service);
head_field.setText("");
note_field.setText("");
} catch (ProducteevException e) {
return;
}
}
});
这是按钮 xml 摘录:
<Button
android:id="@+id/pushbutton"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="35dp"
android:background="@drawable/push_button" />
这里是 LogCat
01-12 20:50:24.402: W/dalvikvm(28405): threadid=1: thread exiting with uncaught exception (group=0x40015578)
01-12 20:50:24.402: E/AndroidRuntime(28405): FATAL EXCEPTION: main
01-12 20:50:24.402: E/AndroidRuntime(28405): java.lang.RuntimeException: Unable to start activity ComponentInfo{producteev.push/producteev.push.Producteev_pushActivity}: java.lang.NullPointerException
01-12 20:50:24.402: E/AndroidRuntime(28405): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
01-12 20:50:24.402: E/AndroidRuntime(28405): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
01-12 20:50:24.402: E/AndroidRuntime(28405): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-12 20:50:24.402: E/AndroidRuntime(28405): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
01-12 20:50:24.402: E/AndroidRuntime(28405): at android.os.Handler.dispatchMessage(Handler.java:99)
01-12 20:50:24.402: E/AndroidRuntime(28405): at android.os.Looper.loop(Looper.java:123)
01-12 20:50:24.402: E/AndroidRuntime(28405): at android.app.ActivityThread.main(ActivityThread.java:3687)
01-12 20:50:24.402: E/AndroidRuntime(28405): at java.lang.reflect.Method.invokeNative(Native Method)
01-12 20:50:24.402: E/AndroidRuntime(28405): at java.lang.reflect.Method.invoke(Method.java:507)
01-12 20:50:24.402: E/AndroidRuntime(28405): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
01-12 20:50:24.402: E/AndroidRuntime(28405): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
01-12 20:50:24.402: E/AndroidRuntime(28405): at dalvik.system.NativeStart.main(Native Method)
01-12 20:50:24.402: E/AndroidRuntime(28405): Caused by: java.lang.NullPointerException
01-12 20:50:24.402: E/AndroidRuntime(28405): at producteev.push.Producteev_pushActivity.onCreate(Producteev_pushActivity.java:122)
01-12 20:50:24.402: E/AndroidRuntime(28405): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-12 20:50:24.402: E/AndroidRuntime(28405): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
01-12 20:50:24.402: E/AndroidRuntime(28405): ... 11 more
如果有人知道这个问题,那就太棒了。
【问题讨论】:
-
看到这一行 01-12 20:50:24.402: E/AndroidRuntime(28405): at producteev.push.Producteev_pushActivity.onCreate(Producteev_pushActivity.java:122) 这是你最好的朋友,学习寻找你的包名来找出崩溃的原因
标签: android button crash onclick android-viewpager