ArrayList<int[]> を配列アダプターに渡そうとしています。各 int 配列には 6 つの値が含まれており、それらの値をリストビューの各行に表示したいと考えています。標準の配列アダプターを使用してこれを行う方法はありますか、それともカスタム アダプターを作成する必要がありますか?
質問する
2025 次
1 に答える
1
あなたは別のことをしなければならないでしょう。
ただし、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 に答える