2012-09-11 43 views
0

我正在使用一个名为logout的按钮。此注销用于从应用程序中为用户提供的Facebook注销选项。当我单击此按钮时,会出现错误。错误:Android中按钮单击的NullPointerException

我在下面的代码中注释了哪里出现此错误。

09-11 15:25:30.124: E/AndroidRuntime(6866): FATAL EXCEPTION: main 
> 09-11 15:25:30.124: E/AndroidRuntime(6866): 
> java.lang.NullPointerException 09-11 15:25:30.124: 
> E/AndroidRuntime(6866): at 
> com.example.settings.Settings$1.logout(Settings.java:46) 09-11 
> 15:25:30.124: E/AndroidRuntime(6866):  at 
> com.example.settings.Settings$1.onClick(Settings.java:38) 09-11 
> 15:25:30.124: E/AndroidRuntime(6866):  at 
> android.view.View.performClick(View.java:2485) 09-11 15:25:30.124: 
> E/AndroidRuntime(6866): at 
> android.view.View$PerformClick.run(View.java:9080) 09-11 15:25:30.124: 
> E/AndroidRuntime(6866): at 
> android.os.Handler.handleCallback(Handler.java:587) 09-11 
> 15:25:30.124: E/AndroidRuntime(6866):  at 
> android.os.Handler.dispatchMessage(Handler.java:92) 09-11 
> 15:25:30.124: E/AndroidRuntime(6866):  at 
> android.os.Looper.loop(Looper.java:123) 09-11 15:25:30.124: 
> E/AndroidRuntime(6866): at 
> android.app.ActivityThread.main(ActivityThread.java:3683) 09-11 
> 15:25:30.124: E/AndroidRuntime(6866):  at 
> java.lang.reflect.Method.invokeNative(Native Method) 09-11 
> 15:25:30.124: E/AndroidRuntime(6866):  at 
> java.lang.reflect.Method.invoke(Method.java:507) 09-11 15:25:30.124: 
> E/AndroidRuntime(6866): at 
> com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
> 09-11 15:25:30.124: E/AndroidRuntime(6866): at 
> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 09-11 
> 15:25:30.124: E/AndroidRuntime(6866):  at 
> dalvik.system.NativeStart.main(Native Method) 

我的代码:

Facebook的FB;

Button btn_logout = (Button)findViewById(R.id.logout); 
       btn_logout.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      String response = logout();//error 
      Toast.makeText(getApplicationContext(), "Logout"+ response , 2).show(); 
     } 

     public String logout() { 
      // TODO Auto-generated method stub 
      String res = null; 
      try { 
        res = fb.logout(getApplicationContext());//error 

      } catch (MalformedURLException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
      return res; 
     } 


    }); 
+1

你初始化你的'Facebook的FB;'对象? – user370305

回答

-1

你可能忘了初始化的Facebook FB;

Facebook fb= new Facebook("APP_ID"); 
+1

你确定这可能是原因吗?顺便说一句,我不这么认为。 –

+0

请参阅我编辑的ans – MAC

+0

类型new View.OnClickListener(){}中的方法logout()不适用于当我将V放入代码中时参数(View) –

0

确保Facebook对象(fb)初始化...

Facebook fb= new ....