ABS到AppCompat

时间:2014-11-13 19:02:20

标签: android actionbarsherlock android-appcompat oncreateoptionsmenu

我现在正在尝试将ABS操作栏更改为AppCompat。我需要强制使用以下代码(适用于SherlockFragment),以便在android.support.v4.app.Fragment中工作。我需要在Menu中添加自定义视图。我怎样才能在android.support.v4.app.Fragment中执行此操作?

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    menu.clear();
    View view = getLayoutInflater(getArguments()).inflate(R.layout.some_custom_layout, null);
    menu.add("ITEM").setActionView(view).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}

1 个答案:

答案 0 :(得分:1)

而不是

void onCreateOptionsMenu(Menu menu, MenuInflater inflater)

并使用

void onPrepareOptionsMenu(Menu menu)

然后改变

menu.add("ITEM").setActionView(view).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);

MenuItem menuItem = menu.add("SWITCHER");
MenuItemCompat.setActionView(menuItem, view);
MenuItemCompat.setShowAsAction(menuItem, MenuItemCompat.SHOW_AS_ACTION_ALWAYS);