📜  如何在 Android 的 AlertDialog 中显示 ListView?

📅  最后修改于: 2022-05-13 01:54:28.597000             🧑  作者: Mango

如何在 Android 的 AlertDialog 中显示 ListView?

在 Android 中,ListView 是一个 ViewGroup,用于显示字符串列表。这个视图和可滚动的并且 ListView 中的每个项目都是可点击的。警报对话框是一种可以调用以显示在屏幕顶部的警报消息。警报对话框通常由标题、消息、肯定和否定按钮组成。用户可以在这两个按钮之间进行选择以响应消息。这两个要素在实施和服务目的方面彼此完全不同。但是,可以将它们组合在一起并在另一个中显示一个。

在 Android 的 AlertDialog 中显示 ListView

因此,在本文中,我们将向您展示如何在 Android 的警报对话框中创建和显示 ListView。 IDE 准备就绪后,请按照以下步骤操作。

分步实施

第 1 步:在 Android Studio 中创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在Kotlin中演示了该应用程序,因此请确保在创建新项目时选择 Kotlin 作为主要语言。

第 2 步:为 ListView (row.xml) 创建一个布局

导航到app > res > layout并创建一个新的布局文件。添加一个 ListView,如下所示。此布局将显示在 AlertDialog 内。

XML


  
    
  


XML


  
    


Kotlin
package org.geeksforgeeks.lvinad
  
import android.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.ArrayAdapter
import android.widget.Button
import android.widget.ListView
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Creating an array of strings
        val mCountry = arrayOf("India", "Brazil", "Argentina", "Portugal", 
                               "France", "England", "Italy")
  
        // Declaring and initializing 
        // the Button from the layout file
        val mButton = findViewById


第 3 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。添加一个按钮,如下所示。单击此按钮会生成一个 AlertDialog,其中包含一个 ListView。

XML



  
    

第 4 步:使用 MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

科特林

package org.geeksforgeeks.lvinad
  
import android.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.ArrayAdapter
import android.widget.Button
import android.widget.ListView
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Creating an array of strings
        val mCountry = arrayOf("India", "Brazil", "Argentina", "Portugal", 
                               "France", "England", "Italy")
  
        // Declaring and initializing 
        // the Button from the layout file
        val mButton = findViewById

输出:

您可以看到,当单击按钮时,会显示警报对话框,其中包含 ListView。