簡體   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