在Android中显示对菜单单击事件的小吃店

阿米尔:

我在android上有一个菜单,并且想要在单击菜单项后在任何地方显示一个简单的快餐栏。无论我放什么而不是“ ???” 不起作用。整个应用程序均来自Android Studio默认标签视图模板。这是我的代码:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        Snackbar.make("????", "Pressed Setting", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
    }
    if (id == R.id.help_settings) {
        Snackbar.make("???", "Pressed Help", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
    }
    return super.onOptionsItemSelected(item);
}

为什么会这样呢?我该如何解决?

Mohammed Aouf Zouag:

更改

Snackbar.make("???", ....)

Snackbar.make(getWindow().getDecorView(), .....);

您必须将传递ViewSnackbarstatic make方法。

编辑:

在某些设备上,小吃栏可能会显示在系统的控制菜单下方,因此,您可能想致电findViewById(android.R.id.content)以正确显示小吃栏:

Snackbar.make(getWindow().getDecorView().findViewById(android.R.id.content), .....);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章