gpt4 book ai didi

android - Toolbar fragment onoptionsitemselected not called kotlin,有几种方案推荐什么?

转载 作者:行者123 更新时间:2023-11-29 22:50:04 25 4
gpt4 key购买 nike

我在尝试控制 fragment 中选项菜单的 onclick 时迷路了。解决方案太多,我什至不知道从哪里开始。

我看到一些地方有人告诉我们使用 NavController,其他人告诉我们在 Activity 和 fragment 中都使用 onOptionsItemSelected 并覆盖你需要的东西。最重要的是,我们有 androidx.appcompat.widget.Toolbar,它甚至不需要膨胀,只需在 XML 文件中使用 app:menu= 就可以了,但我如何听点击?

<androidx.appcompat.widget.Toolbar
app:menu="@menu/menu_fragment_main">

我让它在 Activity 中正常工作,但后来不得不使用 Fragments 来代替,结果陷入了困惑,我只想让菜单像在 Activity 中一样工作。

最佳答案

你需要在fragment的onCreate()方法中调用setHasOptionsMenu:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}

下面是如何展开菜单并响应点击:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu, menu);
super.onCreateOptionsMenu(menu, inflater);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {

case R.id.refresh:
//Respond to click
break;
}
return true;
}

这是你的 menu.xml :

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/refresh" android:title="Refresh" android:icon="@drawable/ic_action_refresh" />
</menu>

关于android - Toolbar fragment onoptionsitemselected not called kotlin,有几种方案推荐什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58038440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com