我希望能够在listview中每行显示两行文本。
在每个标题下,我想显示日期和作者姓名的另一行文字。
/** 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;
}
}
};
您如何建议我在行中添加另一行?现在我只想在第二行添加“作者”和“日期”,我只需要一个占位符,直到我有代码来解析相应的字段。
答案 0 :(得分:2)
喜欢这个basic example?
答案 1 :(得分:1)
我建议使用自定义ListAdapter扩展BaseAdapter。
将数据存储在ArrayList中,并创建一个新的GetView()来处理XML-Layout中的数据。
答案 2 :(得分:1)
您如何建议我在行中添加另一行?
向TextView
添加第二个res/layout/list_item.xml
,其大小和位置可以放在任何位置。
此外,您需要继承ArrayAdapter
并覆盖getView()
。 ArrayAdapter
只知道每行如何处理一个TextView
- 如果你想要的更多,你需要自己处理其余部分。