1

com.slidingmenu.lib ライブラリを使用しています。

フラグメントで表されたスライド メニューがあります。スライディング メニューのフラグメントが、スライディング メニューをホストしているアクティビティと通信する方法を確認するのに苦労しています。

これはどのように作動しますか?何らかの形のリスナーが必要だと思いますが、うまくいかないので、これはうまくいきます。

4

4 に答える 4

0

スライド メニューは、他のものと同様にフラグメントです。

getActivity を呼び出して、ホスト アクティビティへの参照を取得します。

于 2013-05-07T20:26:11.997 に答える
0

フラグメント (slideMenu) のメソッド onAttach() をオーバーライドし、アタッチされているアクティビティへの参照を取得する必要があります。アクティビティを取得したら、アクティビティで宣言したパブリック メソッドを呼び出せるように、特定のクラス (アクティビティを拡張するアクティビティの名前) への参照をダウンキャストする必要があります。

例:

public class MyActivity extends Activity{
     // This activity has the sliding menu attached

     public void methodX(){// Do your stuff}
}

class MyFragment extends Fragment{

   MyActivity parent;
   @Overide
   public void onAttach(Activity a){
      super.onAttach(a)
      parent = (MyActivity) a;
      a.methodX();
   }
}
于 2014-04-25T22:57:14.927 に答える
0

私は自分のフラグメントでこれを使用しています;)

getActivity().setContentView(R.layout.main);
SlidingMenu menu = new SlidingMenu(getActivity());
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
menu.attachToActivity(getActivity(), SlidingMenu.SLIDING_CONTENT);
menu.setMenu(R.layout.menu);
于 2013-08-12T19:35:05.783 に答える