上下文操作模式 AppCompatActivity 不显示

Contextual Action Mode AppCompatActivity not show

我 activity 扩展了 AppCompatActivity,我希望在其上设置上下文操作栏。 所以这是我的 onCreate 方法

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
MainActivity.this.startSupportActionMode(new ActionBarCallBack());

我的 ActionBarCallBack 扩展 android.support.v7.view.ActionMode 并且我这样声明它

@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    mode.getMenuInflater().inflate(R.menu.contextual_menu, menu);
    return false;
}

我的清单上设置的主题:

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="windowActionModeOverlay">true</item>
</style>

主要活动:

<activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main2"
        android:theme="@style/AppTheme.NoActionBar" >
</activity>

我的 onCreateActionMode 触发器,但 CAB 从未显示。

有什么想法吗?

所以这里是错误

@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    mode.getMenuInflater().inflate(R.menu.contextual_menu, menu);
    return true; // Now it works
}

将 windowActionModeOverlay 设置为我的 Theme.NoActionBar

<item name="windowActionModeOverlay">true</item>

不必像我在 Whosebug 线程上看到的那样从我的工具栏设置 startActionMode()。在 android.support.v7.view.ActionMode 上,这条线对我来说很好用。

Main2Activity.this.startSupportActionMode(new ActionBarCallBack()); //android.support.v7.view.ActionMode

您 return false 来自 onCreateActionMode 在您的 ActionMode.Callback.

中实现的方法

尝试将 return 值更改为 true

@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
    // Inflate menu
    return true; //  <=====  MUST RETURN TRUE
}