0

jfeinstein10のスライド メニューを実装するアプリがあります。私のアプリはすべてフラグメントを使用していません。だから私はフラグメントのリストをリストアクティビティに変更します。そのリストをクリックすると、別のアクティビティが開始されます。しかし、スライド メニューは閉じませんでした。まだスライドモードです。「リスト アクティビティの項目をクリックすると、スライド メニューが閉じてアクティビティが開始される」ようにしたいだけです。私はこのようにしてみました。

@Override
public void onListItemClick(ListView lv, View v, int position, long id) {
    Fragment newContent = null;
    Fragment Intent = null;
    switch (position) {
    case 0:
        Intent intent2 = new Intent();
        intent2.setClass(getActivity(), tab.class);
        intent2.putExtra("index", position);
        startActivity(intent2);
        break;
    case 1:
        Intent intent = new Intent();
        intent.setClass(getActivity(), about.class);
        intent.putExtra("index", position);
        startActivity(intent);
        break;
    case 2:
        Intent intent3 = new Intent();
        intent3.setClass(getActivity(), tab1.class);
        intent3.putExtra("index", position);
        startActivity(intent3);
        break;
    case 3:
        Intent intent4 = new Intent();
        intent4.setClass(getActivity(), latin.class);
        intent4.putExtra("index", position);
        startActivity(intent4);
        break;
    case 4:
        newContent = new ColorFragment(android.R.color.black);
        break;
    }
    if (newContent != null)
        switchFragment(newContent);
    if (Intent != null)
        switchFragment(Intent);

}

Fragment Intent = null;Andを使用するのはばかげていることを私は知っていますIf (Intent != Null) switchFragment(Intent);。フラグメント専用であることは知っていますが、そのように切り替える別の方法はありますか? クリックすると、スライドメニューが閉じてアクティビティが開始されるようにします。ありがとう

4

2 に答える 2

0

ListFragment を使用していて、そこに onListItemClick が配置されている場合。あなたが使用することができます:

((MainActivity) this.getActivity()).menu.toggle();

また:

((MainActivity) this.getActivity()).getMenu().toggle();

于 2014-03-09T16:11:38.993 に答える