簡體   English   中英

Android:ActionBarCompat(支持庫)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM