如何解决为什么在onCreateOptionsMenu之外menuItem为null?
我正在尝试访问createOptionsMenu()之外的菜单项,而menuItem在此方法之外返回null。有什么方法可以在android的onPostCreate()中使用menuItem。
在下面的代码中,menuItem“ action”在onCreateOptionsMenu()中不为null,但在onPostCreate()方法中为null。我需要在此处使用它,为什么onCreateOptionsMenu之外的menuItem为null?有没有办法在onCreateOptionsMenu或onPrepareOptionsMenu方法之外使用它?
更新
public class ActionActivity extends xxx {
private MenuItem action;
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.menu_preview,menu);
action = menu.findItem(R.id.action);
return true;
}
@Override
public void onPostCreate(Bundle savedInstanceState) {
// Code to show the coachmark for the menu item.
show();
}
public void show() {
new Handler().post(() -> {
View anchor = null;
if (action != null) {
anchor = action.getActionView();
}
// code to show a coachmark passing the anchor view reference
});
}
}
menu_preview.xml:
<item
android:id="@+id/action_search"
android:title="@string/search_action"
app:showAsAction="never"/>
<item
android:id="@+id/action_share"
android:title="@string/share_action"
app:showAsAction="never"/>
<item
android:id="@+id/action"
android:title="@string/action"
android:icon="@drawable/action"
app:showAsAction="ifRoom"/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。