【问题标题】:android: menu item click event from fragmentandroid:来自片段的菜单项单击事件
【发布时间】:2014-10-06 12:32:22
【问题描述】:

我有一个带有操作栏的应用程序。并且菜单被 mainactivity 夸大了。我想拦截片段内的点击事件,但我不知道怎么做?你能帮我吗? 主活动

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.home, menu);
}

home.xml

        <menu>
        <item
            android:id="@+id/action_refresh"
            android:title="@string/menu_refresh"/>
    </menu>

我想刷新片段中的列表

【问题讨论】:

  • 片段使用ViewPager

标签: android android-actionbar fragment


【解决方案1】:

如果您想捕获对您的项目的点击,请实施

public boolean onOptionsItemSelected(MenuItem item)

然后:

如果您的活动包含片段,则系统首先调用 onOptionsItemSelected() 用于活动,然后用于每个片段(在 添加每个片段的顺序),直到一个返回 true 或 all 片段已被调用。

可以关注官方参考:

http://developer.android.com/guide/topics/ui/menus.html

【讨论】:

  • 谢谢,它有效!我将创建刷新方法,但如果我有一些错误,我会联系你。谢谢
  • @mromer,我在片段中实现了onOptionItemSelected(MenuItem) 方法,但它不起作用。这个回调在活动而不是片段一中被调用,即使没有与我的点击事件匹配的资源id
  • @Israel 您在活动中的方法中返回 false 吗? developer.android.com/reference/android/app/…
猜你喜欢
  • 2019-05-02
  • 2011-11-20
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多