0

ListView の内容を TextView の配列に設定しようとしています。

私が現在持っているものでは、ここで提案されていることをしていると思いますが、Null Pointer Exception が発生します: how do I add items to listview dynamic in android

これが私が現在持っているものです:

ListView lvSuggestions = (ListView)findViewById(R.id.lvSuggestions);

ArrayAdapter<TextView> arrayAdapter =  new ArrayAdapter<TextView>(this, android.R.layout.simple_list_item_1);
lvSuggestions.setAdapter(arrayAdapter);

しかし、アダプターを設定すると例外が発生します。

ArrayList に TextViews を入力してから、完全な ArrayList を使用して Adapter を作成しようとしましたが、Adaptor を設定すると同じ Null Pointer Exception が発生します。

助けてくれてありがとう

4

4 に答える 4

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

上記の行を以下に変更します

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

以下のように、表示するすべての文字列をarrayAdapterに追加します

arrayAdapter.add("string1");
arrayAdapter.add("string2");
arrayAdapter.add("string3");//so on 
于 2012-04-15T15:47:54.293 に答える
0

これ

(ListView)findViewById(R.id.lvSuggestions);

が返されたnull場合(アイテムが見つからない場合)、または返されたオブジェクトがタイプではない場合に返される可能性があります。findViewByIdnullListView

以下で保護します。

if (lvSuggestions != null) {
  ArrayAdapter<TextView> arrayAdapter = new ArrayAdapter<TextView>(this, 
      android.R.layout.simple_list_item_1);
  lvSuggestions.setAdapter(arrayAdapter);
}
于 2012-04-15T15:45:45.380 に答える
0

カスタム アダプターの使用法については、このリンクを参照してください。

リンク1

リンク2

LINK3

LINK4

LINK5

LINK6

于 2012-04-15T16:04:01.323 に答える