在一个Android应用程序中,我想在AlertDialog中显示一个自定义列表视图。

我该怎么做呢?


当前回答

作为初学者,我建议你登录http://www.mkyong.com/android/android-custom-dialog-example/

我将简要介绍它的基本功能

为对话框和主活动创建一个XML文件 在主活动中所需的位置创建一个android类Dialog对象 根据XML文件添加自定义样式和文本 调用dialog.show()方法。

其他回答

使用“import android.app.AlertDialog;”导入,然后写入

    String[] items = {"...","...."};             
    AlertDialog.Builder build = new AlertDialog.Builder(context);
    build.setItems(items, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //do stuff....
        }
    }).create().show();

你可以用这样的Alert Dialog创建一个简单的Array。

 val sexArray = arrayOf("Male", "Female")
 val selectedPosition = 0

 AlertDialog.Builder(requireContext())
    .setSingleChoiceItems(sexArray, 0) { dialog, position ->
        val selectedSex = sexArray[position]
    }.show()

作为初学者,我建议你登录http://www.mkyong.com/android/android-custom-dialog-example/

我将简要介绍它的基本功能

为对话框和主活动创建一个XML文件 在主活动中所需的位置创建一个android类Dialog对象 根据XML文件添加自定义样式和文本 调用dialog.show()方法。

在芬兰湾的科特林:

fun showListDialog(context: Context){
    // setup alert builder
    val builder = AlertDialog.Builder(context)
    builder.setTitle("Choose an Item")

    // add list items
    val listItems = arrayOf("Item 0","Item 1","Item 2")
    builder.setItems(listItems) { dialog, which ->
        when (which) {
            0 ->{
                Toast.makeText(context,"You Clicked Item 0",Toast.LENGTH_LONG).show()
                dialog.dismiss()
            }
            1->{
                Toast.makeText(context,"You Clicked Item 1",Toast.LENGTH_LONG).show()
                dialog.dismiss()
            }
            2->{
                Toast.makeText(context,"You Clicked Item 2",Toast.LENGTH_LONG).show()
                dialog.dismiss()
            }
        }
    }

    // create & show alert dialog
    val dialog = builder.create()
    dialog.show()
}
final CharSequence[] items = {"A", "B", "C"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Make your selection");
builder.setItems(items, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        // Do something with the selection
        mDoneButton.setText(items[item]);
    }
});
AlertDialog alert = builder.create();
alert.show();