0

簡単な質問があります。使用できることはわかっています。

setListAdapter(new ArrayAdapter<String> (getActivity(), 
                R.layout.your_layout,
                R.id.your_text,
                stringArray));  

onActivityCreated() メソッドのListFragment内。これはこれまでのところうまく機能しますが、1つのアイテムしかカバーしていません. たとえば、レイアウトに sms_text と sms_timestamp の 2 つの TextView があるとします。両方とも、それぞれ smsTextArray [] と smsTimeStampArray [] によって埋められます。その電話はどうなりますか?私は試した:

setListAdapter(new ArrayAdapter<String> (getActivity(), 
                R.layout.tweet_list_item,
                R.id.sms_text,
                smsTextArray,
                R.id.sms_timestamp,
                smsTimeStampArray,
                ));     

それはうまくいきませんでした:(

同じ onActivityCreated() で setListAdapter() を 2 回呼び出してみましたが、それは機能しましたが、リスト項目に setListAdapter() の 2 回目の呼び出ししか表示されませんでした。

また、独自のアダプターを作成しようとしましたが、その混乱の中で迷子になりました。正しい方向に私を向けることができますか?正確なコードは必要ありません。読むことができるライブラリへのリンクだけでなく、コード呼び出しのような単純なものでもかまいません。間違ったパラメーターを使用しているだけかもしれませんが、アイデアはありますか?

4

1 に答える 1

1

ArrayAdaptersimpleを使用して複数のデータを表示することはできません。アダプターは、リスト内の 1 つの要素を listView 内の 1 つの要素にマップします。2 つの異なる部分からデータを取得するには、独自のアダプターを作成する必要があります (思ったより簡単です)。または、マップのリストを使用することもできますSimpleAdapter(例については、これを参照してください)。

個人的には、カスタム アダプターを使用することをお勧めします。最終的にはコードを作成する必要があり、今ほど時はありません。さらに、コードはより読みやすく、明白になります。

于 2012-09-10T04:05:22.597 に答える