2012-12-14 40 views
0

當我點擊按鈕,應用程序停止。Android的Facebook提要對話框不顯示

public class MainActivity extends ListActivity { 
     private Facebook mFacebook; 

Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK); 
     dialogButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       postToWall(); 
      } 
     }); 
     dialog.show();  
    } 
public void postToWall() { 
Bundle parameters = new Bundle(); 
     parameters.putString("description", "description about link"); 
     parameters.putString("picture","link of picture your want add with share post."); 
     parameters.putString("link", "Link you want to share"); 
     parameters.putString("name","Name of link"); 
     parameters.putString("caption","describe your caption text"); 

      mFacebook.dialog(this, "stream.publish", parameters,new DialogListener() { 

       @Override 
       public void onFacebookError(FacebookError arg0) { 
       } 

       public void onError(DialogError arg0) { 
       } 

       public void onComplete(Bundle arg0) { 
       } 

       public void onCancel() { 
       } 
      }); 
     } 

堆棧跟蹤:

12-14 21:26:11.198: E/AndroidRuntime(1021): FATAL EXCEPTION: main 
12-14 21:26:11.198: E/AndroidRuntime(1021): java.lang.NullPointerException 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at com.example.imdb.Display.postToWall(Display.java:447) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at com.example.imdb.Display$1.onClick(Display.java:399) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at android.view.View.performClick(View.java:4202) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at android.view.View$PerformClick.run(View.java:17340) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at android.os.Handler.handleCallback(Handler.java:725) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at android.os.Handler.dispatchMessage(Handler.java:92) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at android.os.Looper.loop(Looper.java:137) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at android.app.ActivityThread.main(ActivityThread.java:5039) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at java.lang.reflect.Method.invoke(Method.java:511) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
12-14 21:26:11.198: E/AndroidRuntime(1021):  at dalvik.system.NativeStart.main(Native Method) 

此外,還有一個警告說,方法對話框(上下文,字符串,捆綁,Facebook.DialogListener)從類型的Facebook已棄用。這很重要嗎?如何解決這個問題?

+0

mFacebook在哪裏實例化?你的顯示代碼的第447行又是什麼? –

+0

我沒有實例化它......第447行:mFacebook.dialog(this,「stream.publish」,parameters,new DialogListener(){ – user23256

回答

1

mFacebook可能爲null。一探究竟。

+0

我只是啓動mFacebook,應該如何實例化它? – user23256

+0

'mFacebook = Facebook yourAppId);' 查看http://developers.facebook.com/android/瞭解更多說明。 –

1

您的mFacebook對象爲空,您應該做mFacebook = new Facebook ("yourappIDString")。你必須通過一個AppID給構造 另外,回答你的折舊問題,Facebook的source指出

新的代碼應該使用 Session管理會話狀態, Request,使API請求,

所以,如果你想保持合規,你將需要重寫一些代碼。