Android のアクション バー (ツールバー) には 3 つのオプション メニューがあります。その正常に動作します。しかし、問題は、メニュー項目のこの複製が表示されているときに、アンインストールして再インストールするときです。また、タイトルもそのままで変わりません。時々、アプリを閉じて再起動すると、正常に機能すると言います。私は完全に混乱し、打たれました。
コード、MainActivity (OnCreateOptionsMenu) は次のとおりです。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.clear();
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menu_main, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchManager searchManager = (SearchManager) MainActivity.this.getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = null;
if (searchItem != null) {
searchView = (SearchView) searchItem.getActionView();
}
if (searchView != null) {
searchView.setSearchableInfo(searchManager.getSearchableInfo(MainActivity.this.getComponentName()));
}
MenuItem item = menu.findItem(R.id.action_wishlist);
wishlistCount = (RelativeLayout) MenuItemCompat.getActionView(item);
wishlistCount.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
setWishlistCount();
MenuItem cartitem = menu.findItem(R.id.action_cart);
cartCount = (RelativeLayout) MenuItemCompat.getActionView(cartitem);
cartCount.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
restoreToolbar();
return super.onCreateOptionsMenu(menu);
}
ここに私のmenu_main.xmlがあります:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item
android:id="@+id/action_search"
android:icon="@android:drawable/ic_menu_search"
app:showAsAction="always"
app:actionViewClass="android.support.v7.widget.SearchView"
android:title="Search"/>
<item
android:id="@+id/action_wishlist"
android:orderInCategory="300"
android:title="@string/wishlist"
app:actionLayout="@layout/actionbar_badge_layout"
android:icon="@drawable/ic_wishlist_dark"
app:showAsAction="always"></item>
<item
android:id="@+id/action_cart"
android:orderInCategory="300"
android:title="@string/cart"
app:actionLayout="@layout/actionbar_badge_cart_layout"
android:icon="@drawable/ic_cart_dark"
app:showAsAction="always"></item>
</menu>
これがスクリーンショットです: 1: 初回: ここに画像の説明を入力してください
2: 通常: ここに画像の説明を入力します
注: この問題は、アプリケーションがナビゲーション バーを開いた状態で開いたときに発生します。それ以外の場合は正常に動作します。createoptionsmenu は常に呼び出されますが、それでも機能しません。誰でもこれについて助けることができますか?