1

我正在尝试将 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;
}
4

2 回答 2

2

构造函数的第一个参数不ArrayAdapter应该是。您可能正在从一些内部设置您的适配器,因此您不能使用引用,因为它指向该实例。你应该改变这一行:ContextRunnableRunnablethisRunnable

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它是对您设置适配器的活动的引用。

于 2012-07-30T17:04:26.990 回答
0

Runnable显然,您是在(in方法)中创建适配器run(),这就是为什么this指的是Runnable,而不是Context. 尝试使用YourActivity.this而不是this.

于 2012-07-30T17:04:18.180 回答