2012-03-17 12 views
-3

各行に2つのTextViewを持つリストを作成したいとします。 私はString []型のようにしている:文字列[]からAndroidのListViewへ

public class arrays { 
public static String[] PodcastTitle; 
public static String[] PodcastURL; 
public static String[] PodcastContent; 
public static String[] PodcastDate;} 

私はこのコードを使用してリストを作成することができますが、それだけでリストにPodcastTitleを配置することができます。

ListView lv1; 
    lv1 = (ListView)findViewById(R.id.listView1); 
    lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , arrays.PodcastTitle)); 

私の質問は、どのようにPodcastTitleとPodcastDateを表示するリストを作成できますか?

答えて

0

すでに説明したようにandroid.R.layout.simple_list_item_2を使用することができます。

ただし、android.R.layout.simple_list_item_1を使用することもできます。ですから、このようなクラス(オーバーライドのtoStringを)確認する必要があります行うには:

public class Podcast { 

    private String title; 
    private String date; 

    // getter & setter 

    @Override 
    public String toString() { 
     return title + "\n" + date; 
    } 
} 

List<Podcast> myData = new ArrayList<Podcast>(); 

そして最後に、アダプタ

ArrayAdapter<Podcast> adapter = new ArrayAdapter<Podcast>(this, 
      android.R.layout.simple_list_item_1, myData); 
setListAdapter(adapter); 
+0

これを使用すると、空のリストビューが作成されます。 – v66dik

+0

"myData"リストにPodcastオブジェクトを入力する必要があります。 Podcast pc =新しいPodcast(); pc.setTitle(...)&pc.setDate(...)myData.add(pc)のようなリストにオブジェクトを追加してからアダプタを設定してください – 207

+0

.setTitle(...)とpc.setDate(...) – v66dik

0

android.R.layout.simple_list_item_1の代わりにandroid.R.layout.simple_list_item_2が必要です。これにはTwoLineListItemが含まれています。

ArrayAdapterの代わりに、SimpleCursorAdapterを使用する必要があります。しかし理想的には、あなたのデータは、aのように異なった構造にする必要があります。List<Pair<String, String>>

+0

代わりに配列のデータのリストを作成します'SimpleCursorAdapter'とそれに加えて[MatrixCursor](http://developer.android.com/reference/android/database/MatrixCursor.html)を作成すると動作するでしょうが、' List 'を持つ' ArrayAdapter'はより良いでしょうここに。 – zapl

+0

例を書くことは可能ですか? – v66dik