Android自定义列表对话框

use*_*732 16 android dialog list file-browser

嗨,
我正在研究一个简单的文件浏览器应用程序.我已经设置了大部分内容(它列出了不同目录中的所有内容以及不同的内容)但是我现在所处理的内容(工作几个小时)是选择列表项时,我想要出现一个自定义列表对话框.我在android开发页面上找到了这个代码并略微修改了它.目前它只是提供了所选内容的祝酒词,但我需要将这三个项目分开.也就是说,我想做的不仅仅是祝酒,而是让每个选择都运行不同的命令.这是我目前的代码

    final CharSequence[] items = {"Info", "Rename", "Delete"};

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Options for " + file.getName());
    builder.setItems(items, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
        }
    }).show();
Run Code Online (Sandbox Code Playgroud)

感谢任何能帮助我分开它的人.我已经尝试了if语句的一些不同变体,但是我尝试过的所有内容都失败了.

小智 11

您收到的项目整数是包含您的操作的charsequence数组的索引,因此要获取所选的操作,您可以这样做(在onClick方法中):

if (item == 0)
{
     // Info item
}
else if (item == 1)
{
     // Rename, and so one
Run Code Online (Sandbox Code Playgroud)

或者你可以这样做:

if (items[item].equals("Info"))
{
     // Info item
}
else if (items[item].equals("Rename")
{
     // Rename, and so one
}
Run Code Online (Sandbox Code Playgroud)

但第一种方法是首选