gpt4 book ai didi

android - 单击设置了 actionLayout 的菜单项时不会调用 onOptionsItemSelected()

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:56:06 24 4
gpt4 key购买 nike

在我的操作栏中,我定义了一个菜单项,可以通过以下代码显示文本“完成”:

菜单.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:id="@+id/action_register_text"
android:actionLayout="@layout/action_done_text"
android:title="@string/action_done"
android:showAsAction="always"/>

</menu>

action_done_text.xml:

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/expand_activities_button"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:clickable="true"
android:focusable="true"
android:addStatesFromChildren="true">

<TextView
android:id="@+id/register_action_bar_done"
android:layout_width="53dp"
android:layout_height="35dp"
android:layout_gravity="center"
android:layout_marginRight="10dip"
android:gravity="center"
android:text="DONE" />

</FrameLayout>

我在代码中正确实现了 onCreateOptionsMenu, View 可以正确显示文本,但是当我点击 DONE 文本时,onOptionsItemSelected 没有被调用。对我来说,似乎无法识别点击事件。

我想知道上面的方法是不是添加文本菜单项的好方法?

最佳答案

onOptionsItemSelected not called when using actionLayout (SherlockActionBar) 中所示使用它

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.map_menu, menu);
for (int i = 0; i < menu.size(); i++) {
MenuItem item = menu.getItem(i);
if (item.getItemId() == R.id.menu_more) {
itemChooser = item.getActionView();
if (itemChooser != null) {
itemChooser.setOnClickListener(this);
}
}
}
return super.onCreateOptionsMenu(menu);
}

关于android - 单击设置了 actionLayout 的菜单项时不会调用 onOptionsItemSelected(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20931812/

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