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コンストラクターの最初のパラメーターは であってはなりContextませんRunnable。おそらく一部のアダプターからアダプターを設定しているため、そのインスタンスを指しているため、参照Runnableを使用できません。この行を変更する必要があります。thisRunnable

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明らかに、 (run()メソッド内で)アダプターを作成しているので、thisを参照するのRunnableではなく、を参照しContextます。YourActivity.thisの代わりに使用してみてくださいthis

于 2012-07-30T17:04:18.180 に答える