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.对我来说,似乎无法识别click事件.
我想知道上面的方法是不是添加文本菜单项的好方法?
解决方法 使用此项,如 onOptionsItemSelected not called when using actionLayout (SherlockActionBar)所示@OverrIDepublic 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 – onOptionsItemSelected()在单击设置了actionLayout的菜单项时未调用全部内容,希望文章能够帮你解决android – onOptionsItemSelected()在单击设置了actionLayout的菜单项时未调用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)