[英]Android: ActionBarCompat (Support library)
我有個問題。 我正在為我的應用程序使用支持庫。 我通過XML文件在ActionBar上添加了一些Action項目。
來自文檔: https : //developer.android.com/guide/topics/ui/actionbar.html#ActionItems
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
yourapp:showAsAction="ifRoom|collapseActionView" />
...
</menu>
有用。 但是該項目保留在所有碎片上。
我需要在ActionBar中使用其他操作項。
我創建了一些菜單文件,並嘗試在不同的片段上使用它們,但是它不起作用。
我只看到類中的第一個Action項擴展了ActionBarActivity。
從片段:
public class Foods extends Fragment implements View.OnClickListener, SearchView.OnQueryTextListener
...
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
inflater.inflate(R.menu.showinfo_menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
// Configure the search info and add any event listeners
searchView.setQueryHint(getResources().getString(R.string.search));
searchView.setOnQueryTextListener(this);
super.onCreateOptionsMenu(menu, inflater);
}
我剛發現我的錯誤。
如果要使碎片的ActionBar項目正常工作,則應添加它: http : //developer.android.com/reference/android/app/Fragment.html#setHasOptionsMenu (boolean )
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
setHasOptionsMenu(true);
super.onCreate(savedInstanceState);
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.