android - ArrayList 到 ArrayAdapter

标签 android arrays listview

我正在尝试将 arraylist 方法放入 arrayadapter,但我做不到。 我得到 The constructor ArrayAdapter<String>(new Runnable(){}, int, ArrayList<RetrieveInternet>) is undefined

数组适配器

            ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getPackages());

数组列表方法:

private ArrayList<RetrieveInternet> getPackages() {
    ArrayList<RetrieveInternet> apps = getPermissions(true); /* false = no system packages */
    final int max = apps.size();
    for (int i=0; i<max; i++) {
        apps.get(i);
        Log.e("TAG", apps.get(i).toString());
    }
    return apps;
}

最佳答案

ArrayAdapter 构造函数的第一个参数应该是 Context 而不是 Runnable。您可能在某些 Runnable 中设置适配器,因此您不能使用 this 引用,因为它指向那个 Runnable 实例。你应该改变这一行:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getPackages());

进入这个:

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(YourActivity.this, android.R.layout.simple_list_item_1, getPackages());

主要区别在于第一个参数 - YourActivity.this,它是对您设置适配器的 Activity 的引用。

关于android - ArrayList 到 ArrayAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725825/

相关文章:

java - HTTP 状态 403 - 在请求参数中发现无效的 CSRF token 'null'

c - 内存分配和内存泄漏: C

android - 如何检测 ListView 是否在android中向上或向下滚动?

android - 将动态值添加到 Fragment 中的 ListView

android - 如何将条目插入到 SQLite 数据库中

Android:RIL 移植 - 使用我的 GPRS+GSM (pppd+chat) 的网络设置问题

java - 当所有线程完成处理时运行代码

c++ - 我有一个 .csv 文件,想将其转换为 C++ 中的数组

arrays - 如何使用Lua获取表中的最小数字

java - 如何从 Android 的 ListView 中正确删除项目?