Android 在listview中添加但不显示数据
收到消息后,我将向列表视图添加数据。当侦听器调用时,我会添加消息,但它不会显示在listview上 请帮我解决这个问题Android 在listview中添加但不显示数据,android,Android,收到消息后,我将向列表视图添加数据。当侦听器调用时,我会添加消息,但它不会显示在listview上 请帮我解决这个问题 /** * It display the chat messages. */ private void displayResultList() { if(messageList != null && messageList.size() > 0) { adapter = new Ar
/**
* It display the chat messages.
*/
private void displayResultList() {
if(messageList != null && messageList.size() > 0) {
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, messageList) {
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_1, null);
}
((TextView)convertView).setText(getItem(position));
((TextView)convertView).setTextColor(Color.BLACK);
return convertView;
};
};
setListAdapter(adapter);
getListView().setTextFilterEnabled(true);
}
}
/**
* This listener called when click on send button.
*/
private OnClickListener sendListener = new OnClickListener() {
@Override
public void onClick(View v) {
try {
muc.sendMessage(chatMessage.getText().toString());
messageDataSource.open();
messageDataSource.createRoomMessage(roomName, chatMessage.getText().toString(), userId, null);
messageDataSource.close();
chatMessage.setText("");
} catch(Exception e) {
Log.v("HB", "Exception at::" + e.getMessage());
}
}
};
/**
*它显示聊天信息。
*/
私有void显示结果列表(){
if(messageList!=null&&messageList.size()>0){
adapter=new ArrayAdapter(这个,android.R.layout.simple\u list\u item\u 1,messageList){
公共视图getView(int位置、视图转换视图、视图组父视图){
if(convertView==null){
convertView=LayoutInflater.from(context).inflate(android.R.layout.simple\u list\u item\u 1,null);
}
(TextView)convertView.setText(getItem(position));
((TextView)convertView.setTextColor(Color.BLACK);
返回视图;
};
};
setListAdapter(适配器);
getListView().setTextFilterEnabled(true);
}
}
/**
*单击“发送”按钮时,此侦听器调用。
*/
私有OnClickListener sendListener=新OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
muc.sendMessage(chatMessage.getText().toString());
messageDataSource.open();
messageDataSource.createRoomMessage(roomName,chatMessage.getText().toString(),userId,null);
messageDataSource.close();
chatMessage.setText(“”);
}捕获(例外e){
Log.v(“HB”,“异常位于::”+e.getMessage());
}
}
};
它解决了我的问题。我的问题是我正在刷新按钮的onclick listener中的适配器listview
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
}
});
datasource.notifyDataSourceChanged()没有对象
datasource
。请多解释一下。我添加了adapter.notifyDataSourceChanged(),但仍然没有添加到listviewhm。你明白这是怎么回事吗?看起来你不知怎么跳过了RTFM步骤…@MarcinOrlowski什么是“RTFM”的意思看看这里,看看应该如何实现它