【问题标题】:How to use sliding menu toggle() from fragment如何使用片段中的滑动菜单切换()
【发布时间】:2013-06-28 17:52:33
【问题描述】:

在我的应用程序中,我使用带有滑动菜单的 Sherlock 操作栏。

我可以像这样使用 Sherlock Fragment 活动中的滑动菜单切换:

switch (item.getItemId()) {

    case android.R.id.home:
        toggle();
        break;}

但现在我试图隐藏操作栏并希望从片段中使用操作栏菜单按钮。

我隐藏了操作栏,但是如何从片段中使用 toggle()?

谁能告诉我如何使用片段而不是片段活动中的 android.R.id.home 操作?

【问题讨论】:

    标签: android actionbarsherlock slidingmenu


    【解决方案1】:

    两种方法:

    1. 在您的 Activity 中覆盖 onOptionsItemSelected 并处理单击的主页按钮并为其他选项菜单调用 super。 (对于 home 而言,将调用 toggle() 以及您可以在 Fragment 中处理它们的其他菜单选项)

      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
          switch (item.getItemId()) {
          case android.R.id.home:
              toggle();
              return true;
      
          default:
              return super.onOptionsItemSelected(item);
          }
      }
      
    2. Fragment 中定义一个接口并在Activity 上实现它。调用Fragment中caseandroid.R.id.home的接口函数,然后调用Activity中的toggle()

    【讨论】:

    • 我想使用我的片段类而不是我的片段活动类中的切换()。不可能吗?
    • 在您的活动中定义一个函数 getSlidingMenu() 返回 MenuDrawer,在 Fragment onCreate() 调用 getActivity() 并将其转换为您的活动类型。然后调用 getSlidingMenu();现在你的片段中有 menuDrawer
    • @JafarKhQ 你能解释一下我是怎么做到的吗:“在你的活动中定义一个函数 getSlidingMenu() 返回 MenuDrawer”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多