繁体   English   中英

在 ActionBar 上单击菜单项时打开一个弹出窗口

[英]Open a popup when menu item is clicked on ActionBar

我想在按下 ActionBar 按钮时打开一个弹出窗口。

我在菜单文件夹中有这个文件 menu_menuscreen.xml,这是操作栏。

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.flixarts.ar.englishnow.menuscreen">


    <item
        android:id="@+id/action_search"
        android:orderInCategory="200"
        android:title="Búsqueda"
        android:onClick="openPopup"
        app:showAsAction="ifRoom"/>
    <item
        android:id="@+id/action_user"
        android:orderInCategory="300"
        android:title="Usuario"
        app:showAsAction="ifRoom" />
</menu>

但是我不知道我必须在哪里编写代码才能打开弹出窗口。

我必须编写代码才能打开弹出按钮。 我想我必须编写一个 onClickListener 方法并为弹出窗口创建一个 xml 文件。

您需要执行以下步骤:

  1. 在活动中膨胀或显示菜单
  2. 将侦听器添加到您的菜单项

所以在你的活动中添加以下代码

//Show Menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_menuscreen, menu);
    return true;
}

//Add Menu listener
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    if (item.getItemId() == R.id.action_search){
        //this is Popup default
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("Default Popup");
        builder.create().show();
        return true;
    }
    return super.onOptionsItemSelected(item);
}

对于弹出窗口,请参阅 Google 文档。 警报对话框文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM