我想在同一ListView
顯示不同類型的對象不同的對象,但我不知道如何通過getItem(position)
顯示在同一ListAdapter
區分這些對象的ListView
顯示器Messages
列表,從而可以是A Chat
,無論是Notification
,並且項目Chat
和Notification
有不同的佈局。
這是適配器:
public class MailboxAdapter extends BaseAdapter {
private ArrayList<Messages> m_alMessages = null;
private Messages getItem(int position) {
return m_alMessages.get(position)
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (m_alMessages != null) {
if (getItem(position).isChat()) {
final Chat cChatItem = getItem(position);
if (convertView == null) {
//Cat logic
// ...
}
} else {
final Notification nNotifItem = getItem(position);
if (convertView == null) {
//Notification logic
// ...
}
}
}
}
郵件類(最小)
public class Message {
private long m_lId = 0L;
private boolean m_bIsChat = false;
public boolean isChat() { return m_bIsChat; }
}
的Notification
和Chat
類:
public class Notification extends Message { ... }
public class Cat extends Message { ... }
我檢索聊天與列表開始活動時來自web服務的通知列表,所以我不得不將它們添加到它們各自的訂單(日期)中的消息的新列表,然後實例化具有此列表的
這是一個很好的做法嗎?
看看這是否有助於你,http://stackoverflow.com/questions/8927315/two-launcher-activities – 2013-05-14 10:26:44
對不起,但這與問題無關 – 2013-05-14 10:38:05