ABS для AppCompat

Я пытаюсь сейчас изменить 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 ответ

Решение

Вместо

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);
Другие вопросы по тегам