0

ボタンをクリックするとアプリが停止しました。

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タイプのメソッドdialog(Context、String、Bundle、Facebook.DialogListener)は非推奨であるという警告があります。これは重要ですか?この問題を解決するにはどうすればよいですか?

4

2 に答える 2

1

mFacebookはおそらくnullです。見てみな。

于 2012-12-14T21:37:26.323 に答える
1

mFacebookオブジェクトがnullです。実行する必要がありますmFacebook = new Facebook ("yourappIDString")。appIDをコンストラクターに渡す必要があります。また、非推奨の質問に答えるために、Facebookのソースは次のように述べています。

新しいコードでは、代わりに Sessionを使用してセッションの状態を管理し、 Requestを使用してAPIリクエストを作成し、

したがって、準拠を維持したい場合は、いくつかのコードを書き直す必要があります。

于 2012-12-14T21:49:58.967 に答える