2017-03-12 7 views
0

私はAndroidのビューのようなfacebookを実装しようとしていますが、ユーザーがタップしたときにコールバックと通知があります。私はすべてを試してみて、それを割り当てて、役に立つものを見つけることができなかった。同じようなビューにView.OnClickListenerを追加しようとすると、トリガーされません。これまで私はこのコードを持っています:ビューコールバックのようなFacebookがありますか?

likeView.setObjectIdAndType(
     "https://www.facebook.com/SomePage", 
     LikeView.ObjectType.PAGE); 
    likeView.setLikeViewStyle(LikeView.Style.BUTTON); 
      likeView.setAuxiliaryViewPosition(LikeView.AuxiliaryViewPosition.INLINE); 
likeView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        // TO DO 
       } 
    }); 

これは可能ですか?私はちょうどビューのようなfacebookが押されたときを知りたい。あなたの答えと助けてくれてありがとう。

+0

なぜ好きなことを知る必要がありますか? – WizKid

+0

私は現在 'onActivityResult(int requestCode、int resultCode、Intent data)'と 'sendBroadcast(intent)'メソッドを扱っています。しかし、私が必要とするのは、同じビューをクリックしたときに親ビューをクリックすることです。これが、LikeViewタップを検出する必要がある理由です。 – MattCodes

答えて

1

ハックが見つかりました。 LikeView内部のLikeButtonを識別することが重要です。その上でonTouchイベントを処理することができます。それは私のために十分です(ログオンボタンをクリックする必要があります)。

LikeView likeView = (LikeView) widgetView.findViewById(R.id.button_fcb); 
    likeView.setObjectIdAndType(
      "<< page id >>", 
      LikeView.ObjectType.PAGE); 
    LikeButton likeButton = findLikeButton(likeView); 
    if (likeButton != null) { 
     likeButton.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       ... do anything ... 
       return false; 
      } 
     }); 
    }  

private LikeButton findLikeButton(ViewGroup viewGroup) { 
    for (int i = 0; i < viewGroup.getChildCount(); i++) { 
     View childView = viewGroup.getChildAt(i); 
     if (childView instanceof LikeButton) { 
      return (LikeButton)childView; 
     } 
     if (childView instanceof ViewGroup) { 
      return findLikeButton((ViewGroup)childView); 
     } 
    } 
    return null; 
} 
関連する問題