2013-03-19 63 views
0
@Override 
public void onTabReselected(Tab tab, FragmentTransaction ft) { 
    Toast.makeText(MainActivity.appContext, "Reselected!", Toast.LENGTH_LONG).show(); 
} 

当我重新选择操作栏时,我的应用程序关闭并抛出一个Null Pointer Exception。该错误似乎发生在上述方法中。java.lang.NullPointerException在选择动作栏项目时

logcat的:

> 03-19 20:26:54.075: E/AndroidRuntime(2506): FATAL EXCEPTION: main 
> 03-19 20:26:54.075: E/AndroidRuntime(2506): 
> java.lang.NullPointerException 03-19 20:26:54.075: 
> E/AndroidRuntime(2506): at android.widget.Toast.<init>(Toast.java:85) 
> 03-19 20:26:54.075: E/AndroidRuntime(2506): at 
> android.widget.Toast.makeText(Toast.java:226) 03-19 20:26:54.075: 
> E/AndroidRuntime(2506): at 
> com.example.MyTabsListener.onTabReselected(MainActivity.java:94) 
> 03-19 20:26:54.075: E/AndroidRuntime(2506): at 
> com.android.internal.app.ActionBarImpl.selectTab(ActionBarImpl.java:453) 
> 03-19 20:26:54.075: E/AndroidRuntime(2506): at 
> com.android.internal.app.ActionBarImpl$TabImpl.select(ActionBarImpl.java:787) 
> 03-19 20:26:54.075: E/AndroidRuntime(2506): at 
> com.android.internal.widget.ActionBarView$TabClickListener.onClick(ActionBarView.java:950) 
> 03-19 20:26:54.075: E/AndroidRuntime(2506): at 
> android.view.View.performClick(View.java:3100) 03-19 20:26:54.075: 
> E/AndroidRuntime(2506): at 
> android.view.View$PerformClick.run(View.java:11644) 03-19 
> 20:26:54.075: E/AndroidRuntime(2506):  at 
> android.os.Handler.handleCallback(Handler.java:587) 03-19 
> 20:26:54.075: E/AndroidRuntime(2506):  at 
> android.os.Handler.dispatchMessage(Handler.java:92) 03-19 
> 20:26:54.075: E/AndroidRuntime(2506):  at 
> android.os.Looper.loop(Looper.java:126) 03-19 20:26:54.075: 
> E/AndroidRuntime(2506): at 
> android.app.ActivityThread.main(ActivityThread.java:3997) 03-19 
> 20:26:54.075: E/AndroidRuntime(2506):  at 
> java.lang.reflect.Method.invokeNative(Native Method) 03-19 
> 20:26:54.075: E/AndroidRuntime(2506):  at 
> java.lang.reflect.Method.invoke(Method.java:491) 03-19 20:26:54.075: 
> E/AndroidRuntime(2506): at 
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
> 03-19 20:26:54.075: E/AndroidRuntime(2506): at 
> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 03-19 
> 20:26:54.075: E/AndroidRuntime(2506):  at 
> dalvik.system.NativeStart.main(Native Method) 03-19 20:31:54.545: 
> I/Process(2506): Sending signal. PID: 2506 SIG: 9 
+1

的logcat的告诉你究竟在何处发生的事情。请将其发布(只是相关部分) – Simon 2013-03-19 15:02:23

+0

不要这样认为,请发表全部相关代码的异常和片段 – 2013-03-19 15:03:26

+0

更新后... – theJava 2013-03-19 15:04:33

回答

0

更换

Toast.makeText(MainActivity.appContext, "Reselected!", Toast.LENGTH_LONG).show(); 

Toast.makeText(getActivity(), "Reselected!", Toast.LENGTH_LONG).show(); 
+0

getApplicationContext()未定义.... – theJava 2013-03-19 15:09:15

相关问题