Несколько строк текста в одной строке списка? - PullRequest
0 голосов
/ 04 января 2012

Я хотел бы иметь возможность отображать две строки текста в строке в моем просмотре списка.enter image description here

Под каждым из этих заголовков я хотел бы отобразить еще одну строку текста для даты и имени автора.

    /** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);

    titleArray = new ArrayList<String>();
    titleArrayAdapter = new ArrayAdapter<String>(this, R.layout.list_item,
        R.id.itemName, titleArray);

}

public void getThreads() throws IOException {
    Thread getThreadsThread = new Thread() {
        public void run() {
                Document doc = null;
                try {
                    doc = Jsoup.connect(Constants.FORUM).get();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                Elements threads = doc.select(".topic_title");
                for (Element thread : threads) {
                    threadTitle = thread.text();
                    titleArray.add(threadTitle);
                }
        } 
    };
    getThreadsThread.start();
    try {
        getThreadsThread.join();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    mHandler.sendEmptyMessage(0);
}

final Handler mHandler = new Handler(){ 
    public void handleMessage (Message  msg) {
        switch (msg.what) {
        case 0:
            MainActivity.this.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    setListAdapter(titleArrayAdapter);
                }
            });
            break;
        }
    } 
}; 

Как бы вы порекомендовали добавить еще одну строку кстрока?А пока я просто хотел бы добавить «Автор» и «Дата» во вторую строку, мне просто нужен заполнитель, пока у меня не будет кода для разбора соответствующих полей.

Ответы [ 3 ]

2 голосов
/ 04 января 2012
1 голос
/ 04 января 2012

Как бы вы посоветовали добавить еще одну строку в строку?

Добавьте вторую TextView к res/layout/list_item.xml, с размером и позиционированием, где вы хотите.

Кроме того, вам необходимо создать подкласс ArrayAdapter и переопределить getView(). ArrayAdapter знает, как обрабатывать только один TextView на строку - если вы хотите большего, вам нужно справиться с остальными самостоятельно.

1 голос
/ 04 января 2012

Я бы рекомендовал использовать Custom ListAdapter, расширяющий BaseAdapter.

Сохраните ваши данные в ArrayList и создайте новый GetView (), обрабатывающий данные в XML-макете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...