private ArrayList<String> conversation = new ArrayList<String>();
public ArrayAdapter<String> adapter;
private String phoneNumber;
ListView listView;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.converse_view);
this.adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1,
conversation);
ListView listView = (ListView) findViewById(R.id.conversation);
listView.setAdapter(adapter);
}
protected void onResume()
{
super.onResume();
setContentView(R.layout.converse_view);
this.adapter.notifyDataSetChanged();
}
public void changeNumber(String phoneNumber2) {
this.phoneNumber = phoneNumber2;
}
public void addText(String message) {
conversation.add(message);
}
@Override
public String toString() {
return phoneNumber;
}
public boolean equals(converseView other) {
return this.phoneNumber.equals(other.phoneNumber);
}
我正在创建一个短信应用程序,这是我的会话视图屏幕类。 单击“发送”按钮时会调用addText()。如何让列表视图更新,以便我可以看到发送
的文本消息答案 0 :(得分:1)
您需要将消息添加到适配器,并通知适配器列表已更改。
if (this.adapter!=null)
{
this.adapter.add(message);
this.adapter.notifyDataSetChanged();
}
基本上,适配器最后一次知道会话状态的时间是:
this.adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1,
conversation);
这将添加从ArrayList到ArrayAdapter的所有内容,但它不会以任何方式将它们链接在一起。