Строка [] в ListView в Android - PullRequest
       22

Строка [] в ListView в Android

0 голосов
/ 17 марта 2012

Я хочу сделать список с двумя TextViews в каждой строке. У меня есть строка [], как это:

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?

Ответы [ 2 ]

0 голосов
/ 17 марта 2012

Вы можете использовать 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 голосов
/ 17 марта 2012

Вместо android.R.layout.simple_list_item_1 вам нужно android.R.layout.simple_list_item_2, которое содержит TwoLineListItem.

И вместо ArrayAdapter в этом случае вам нужно использовать SimpleCursorAdapter. Но в идеале ваши данные должны быть структурированы иначе, как List<Pair<String, String>>

...