2016-10-28 10 views
-1

私は単純でなければならないと思っていた問題に固執しています。アクティビティには2つのイメージボタンがあります.1つは「レート」です。もう1つは「シェア」です。私が欲しいのは、人が自分のタイムラインに画像とメッセージを投稿する「共有」をクリックするときです。私はすでにので、ここで、FacebookのSDKの統合を持っていましたFacebookでメッセージと写真を共有するにはどうすればいいですか?

は、私が使用しようとしていたコードです。

public ImageButton imgbutton3, imgbutton2; 
public CallbackManager callbackManager; 
public ShareDialog shareDialog; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    FacebookSdk.sdkInitialize(getApplicationContext()); 

    setContentView(R.layout.game_console); 

    imgbutton3 = (ImageButton)findViewById(R.id.imageButton3); 
    imgbutton3.setOnClickListener(ImgClickListener); 
    imgbutton2 = (ImageButton)findViewById(R.id.imageButton2); 
    imgbutton2.setOnClickListener(ImgClickListener); 


} 

private View.OnClickListener ImgClickListener = new View.OnClickListener()  { 
    @Override 
    public void onClick(View v) { 
     switch (v.getId()) { 
      case R.id.imageButton3: 
       //post to facebook... 
       callbackManager = CallbackManager.Factory.create(); 
       shareDialog = new ShareDialog(this); //(stuck here! :() 



       break; 
      case R.id.imageButton2: 
       //do a google rating.... 
       break; 

     } 
    } 


}; 

共有ダイアログは、メソッドを解決できないと言って、その下波線赤い線があります。私はここで何をすべきですか?私はボタンをクリックした後に画像とテキストを表示して渡すようにsharedialogを設定しますが、onclicklistenerメソッド内にメソッドを持たせることはできません。

ご協力いただければ幸いです。

答えて

0
 ShareLinkContent content = new ShareLinkContent.Builder().setContentTitle(strTitle).setContentDescription(strDesc).setImageUrl(uri). 
           .setContentUrl(android.net.Uri.parse(extractLinks(strDesc))).build(); 
         ShareDialog shareDialog = new ShareDialog(ViewFacebook.this); 
         shareDialog.show(content, ShareDialog.Mode.AUTOMATIC); 
         shareDialog.registerCallback(callbackManager, mShareDialog); 

private FacebookCallback<Sharer.Result> mShareDialog = new FacebookCallback<Sharer.Result>() { 

     @Override 
     public void onSuccess(Sharer.Result result) { 
      Toast.makeText(ViewFacebook.this, "Publish Success!"), Toast.LENGTH_LONG).show(); 

     } 

     @Override 
     public void onCancel() { 
      Toast.makeText(ViewFacebook.this, 
        "Publish cancelled", 
        Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onError(FacebookException error) { 
      Toast.makeText(ViewFacebook.this, error.getMessage(), Toast.LENGTH_LONG).show(); 
     } 
    }; 
+0

ViewFacebookは存在しません。あなたはどこからこれを得ましたか? Facebook SDKの一部ではありません。 – user3623689

+0

あなたの活動のインスタンスを取ることができます。 – dipali

+0

".show();"あなたのコードの一部が私のIDEに赤く表示されます。私はもう一度それを再入力しようとしましたが、 "ショー"はインテリセンスに現れません。 – user3623689

関連する問題