0

ArrayList<int[]> を配列アダプターに渡そうとしています。各 int 配列には 6 つの値が含まれており、それらの値をリストビューの各行に表示したいと考えています。標準の配列アダプターを使用してこれを行う方法はありますか、それともカスタム アダプターを作成する必要がありますか?

4

1 に答える 1

1

あなたは別のことをしなければならないでしょう。

注意のためのドキュメントとしてArrayAdapter

ただし、TextView が参照されると、配列内の各オブジェクトの toString() で埋められます。カスタム オブジェクトのリストまたは配列を追加できます。オブジェクトの toString() メソッドをオーバーライドして、リスト内のアイテムに表示されるテキストを決定します。

配列表示に TextView 以外のもの (ImageView など) を使用したり、toString() の結果以外のデータをビューに表示したりするには、getView(int, View, ViewGroup) をオーバーライドして、必要なビューのタイプを返します。

いくつかのオプション:

  • リストを表示に適したものに変換します。

    ArrayList<String> newList = new ArrayList<String>();
    for (int[] i : yourList) { newList.add(Integer.toString(i[0]) + ...) };
    
  • リストにより適したカスタム アダプターを作成します。

    public class MyAdapter extends ArrayAdapter {
    
        @Override
        public View getView (int position, View convertView, ViewGroup parent) {
            int[] i = getItem(position);
            // Inflate an appropriate layout and populate it with the ints in i
        }
    
于 2013-11-05T01:17:26.163 に答える