我放在setHasOptionsMenu(true)里面onCreateView,但我仍然无法调用onCreateOptionsMenu内部碎片.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
return inflater.inflate(R.layout.facesheet, container, false);
}
Run Code Online (Sandbox Code Playgroud)
以下是我的onCreateOptionsMenu代码.
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
getSupportMenuInflater().inflate(R.menu.layout, menu);
return (super.onCreateOptionsMenu(menu));
}
Run Code Online (Sandbox Code Playgroud)
我收到的错误消息:
该方法
onCreateOptionsMenu(Menu)类型片段的必须重写或实现的超类型方法.
android android-fragments layout-inflater oncreateoptionsmenu
我在Android中使用选项菜单时遇到了一些麻烦.我以前构建应用程序,它们都运行良好,但现在菜单没有弹出.
代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.activity_video, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
甚至从不调用整个方法(通过设置断点来检查).活动非常简单,只有一个VideoView,OnTouchListener有一套.
我在三星Galaxy 10.1,API等级15,minSDK 15上使用Android 4.0.4.我错过了什么?
解释onCreateOptionsMenu(Menu menu)和之间的区别onPrepareOptionsMenu(Menu menu).
如何在我的Android应用程序中实现选项菜单?我尝试了Android Developer的代码,但是我收到了错误.如下:必须声明元素菜单.这是我的代码
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_game"
android:icon="@drawable/ic_new_game"
android:title="@string/new_game"
android:showAsAction="ifRoom"/>
<item android:id="@+id/help"
android:icon="@drawable/ic_help"
android:title="@string/help" />
</menu>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lucavanraalte.test" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
android android-manifest android-layout oncreateoptionsmenu android-studio
我试图在我的Android应用程序中更改选项菜单的背景颜色.我正在使用ActionBarSherlock库.我试过这段代码来改变选项菜单的背景颜色
但我最终得到一个例外"java.lang.illegalstateexception:已经在此layoutinflater上设置了一个工厂"
LayoutInflater.setFactory();
我不知道这段代码有什么问题.任何人都可以帮我解决这个问题吗?
android background-color options-menu android-optionsmenu oncreateoptionsmenu
如果之前被问到这个问题,我很抱歉...无论如何,标题是什么,onCreateOptionsMenu何时执行?在onResume之前或之后?
在我的应用程序中,当活动首次运行/打开时,订单将是onCreate - > onResume - > onCreateOptionsMenu
但是如果我改变设备的方向,它会自动调用onDestroy,因此活动将被重新创建,在这种情况下,订单将是onCreate - > onCreateOptionsMenu - > onResume
我现在很困惑......任何人都可以对此作出解释吗?
android onresume oncreate android-activity oncreateoptionsmenu
是onCreateOptionsMenu()之前或之后的操作栏的所谓onStart()活动?
出于某种原因, myonCreateOptionsMenu和onPrepareOptionsMenu运行两次(在两种方法开始时使用日志输入进行检查)。这发生在我拥有的多个片段中,包括一些非常基本的片段(只是膨胀菜单,没有别的)。
这是onCreateOptionsMenu有此问题的s之一:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.actionbuttons_add_removeall, menu);
optionsMenu = menu;
}
Run Code Online (Sandbox Code Playgroud)
什么会导致这些方法被多次调用(主要是两次)?
我发现这是由RecyclerView我正在使用的(以某种方式)引起的。有这个问题的所有视图都使用 RV,我之前提到的视图没有这个问题,确实没有。有了这些新信息,RV 的哪一部分可能会引起这个问题?
我发现我打电话.invalidateOptionsMenu()的getItemCount()的方法Adapter。我认为这会调用onPrepareOptionsMenu(),但阅读文档,它似乎调用onCreateOptionsMenu(). 我可能得到onCreate..()和onPrepare..()逆转这里,要去检查出来了。
我刚刚意识到我的RecyclerViewAdapter,getItemCount()方法中的选项菜单无效,该方法显然在首次创建片段时运行。
@Override
public int getItemCount() {
int tableSize = getTableSizeMethod();
if (tableSize < 1) {
if (!AppManagerFragment.hideDeleteAllButton) {
AppManagerFragment.hideDeleteAllButton = true;
((Activity) context).invalidateOptionsMenu();
return 0;
} …Run Code Online (Sandbox Code Playgroud) 我想动态更改onCreateOptionsMenu项目.我已经纠正了我的问题,唯一的解决办法是打电话onCreateOptionsMenu,onPostCreate但我不知道怎么称呼它.我已经尝试过我的解决方案无效.它甚至可能......?
在我的活动中,我创建了MenuItem一个在ActionBar加载某些数据时执行顺时针动画。当loadData()被调用时MenuItem开始顺时针动画。
这很好用,但是当我第一次调用loadData()内部onCreate回调时,menuItem由于onCreateOptionsMenu()还没有被调用,menuItem它仍然不可用,所以我的引用仍然为空,动画无法启动。
我该如何处理这种情况?