我正在创建一个自定义短信应用,如Handcent,Chomp,textPlus和Pansi SMS。我目前正在尝试模仿的是这样的收件箱,但只有联系人名称和最新消息 textviews: {{ 3}}
在我的SMSList类(扩展Activity)中,此方法被传递到我的CustomAdapter构造函数中: http://venturebeat.files.wordpress.com/2011/07/pinger_sms_free_inbox_android.png
在我的CustomAdapter类中,名为elements的arraylist保存来自上述方法的数据。所以什么时候这样做:
textview1.setText(elements.get(position);
这将返回包含所有正确相应电话号码的所有短信。
以下是问题:
我需要将电话号码分开并将其传递到 textview1 ,然后将消息传递到 textview2。我尝试创建:
List<String> contactNo = new ArrayList<String>();
List<String> message = new ArrayList<String>();
ListIterator<String> it;
contactNo = elements;
message = elements;
it = contactNo.listIterator();
while (it.hasNext()) {
it.set(it.next().split(" ")[0]); // Keep the number, discard the message
}
it = messages.listIterator();
while (it.hasNext()) {
it.set(it.next().split(" ")[1]); // Keep the message, discard the number
}
当我在textview1中尝试contactNo时,工作正常。但textview2中的消息会导致列表错误并且不显示任何内容。
问题二: 以这种方式应用代码时(不使用除获取大小之外的元素),电话号码显示正确,但消息在第7条消息后重复。 请注意,我总共有129封短信,因此在我的129个项目列表中,我收到的前7条信息显示了18次:
目标:
我的目标是在每个列表项目的两个单独的文本视图中正确读取每个电话号码及其消息,就像同时阅读一个文本视图一样。分离的原因是为了造型目的。有没有人有任何想法,为什么我有第一个和第二个问题的错误?
答案 0 :(得分:0)
holder.latestSMS.setText(messages.get(position); // Display text message segment
应该在'if
'语句之外(即在convertView!=null
时也应该调用它)
您不能认为传递给convertView
的{{1}}与getView
参数匹配