在我的操作栏中,我定义了一个菜单项,可以通过以下代码显示文本“完成”:
Menu.xml:
我在代码中正确实现了
我想知道上述方式是否不是添加文本菜单项的好方法?
Menu.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
,视图可以正确显示文本。但是当我点击“DONE”文本时,onOptionsItemSelected
没有被调用。对我来说,似乎单击事件未被识别。我想知道上述方式是否不是添加文本菜单项的好方法?
onCreateOptionMenu()
中获取菜单项的引用,检索其操作视图并在其上设置单击侦听器。 - user