短信应用程序android获取线程更新

时间:2012-12-08 01:37:08

标签: java android android-listview

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()。如何让列表视图更新,以便我可以看到发送

的文本消息

1 个答案:

答案 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的所有内容,但它不会以任何方式将它们链接在一起。