java - 如何获取警报对话框中的列表?

标签 java android arraylist android-alertdialog

我想设置一个带有标题列表的警报对话框。我里面有数据库和时间表。

时间表有标题栏。我想从时间表中获取标题列表。

我尝试了一些代码,但它不起作用。我在 TimeTableHelper 中创建了查询来获取表列表。但我不知道如何将其放入警报对话框中。

有人可以帮忙吗?

selectTable.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            TimeTableHelper th = new TimeTableHelper(getApplicationContext());
            List<String> tables = new ArrayList<String>(th.getTitle());

            AlertDialog.Builder alertDialog = new AlertDialog.Builder(AddEventActivity.this);
            LayoutInflater inflater = getLayoutInflater();
            View convertView = (View) inflater.inflate(R.layout.alertlistrow, null);
            alertDialog.setView(convertView);
            ListView lv = (ListView) convertView.findViewById(R.id.listView1);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, tables);
            lv.setAdapter(adapter);
            alertDialog.show();

        }
    });

如果我尝试在其中添加列表,则会收到错误“无法解析构造函数 ArrayAdapter”。

ArrayAdapter 适配器 = new ArrayAdapter(this, android.R.layout.simple_list_item_1,tables);

如何做到这一点?

最佳答案

您需要传递 Activity 上下文,但在 onClick 方法内 this 表示 onClickListener 接口(interface)。

改变

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, tables);

// Replace MyActivity with the activity you are currently in or getActivity() if inside a fragment
ArrayAdapter adapter = new ArrayAdapter(MyActivity.this, android.R.layout.simple_list_item_1, tables);

关于java - 如何获取警报对话框中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35744270/

相关文章:

java - 如何调用具有泛型类型的 LinkedList

java - TreeMap Java 返回空 ArrayList

java - 为什么使用 arraylist 实现的插入排序没有输出也没有错误?

java - Tomcat 7.0 无法从 Eclipse 启动

java - 在 Java 中创建抽象类 URLConnection 或 HttpURLConnection 的对象

java - 如何从 Hibernate 获取自定义类型的数据库方言?

java - 如何向数组列表添加项目并修改功能

java - 由于服务器关闭套接字而导致写入失败时,Netty 无法从服务器读取字节

Android 自定义 View 完全忽略布局参数 im xml,并在整个屏幕上拉伸(stretch)

android - 如何清除gradle缓存?