我正在尝试将 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/