如何关闭列表活动上的滑动菜单单击

时间:2013-04-01 08:03:16

标签: java android android-activity fragment slide

我有一个应用程序,可以从 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;If (Intent != Null) switchFragment(Intent);是愚蠢的。我知道它只是用于片段,但还有另一种方法可以像这样切换它吗?因此,单击时,幻灯片菜单将关闭并启动活动。感谢

2 个答案:

答案 0 :(得分:1)

尝试使用此类代码切换滑动菜单的状态

@Override
public void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            toggle();
        }
    }, 1000);
}

答案 1 :(得分:0)

如果您正在使用ListFragment并将onListItemClick放在那里。你可以使用:

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

或:

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