创建了两个类1. MainActivity.java 2. Chat_user.java。 Chat_user类列出与之进行聊天的所有联系人并保留最近的聊天消息。主活动已创建Asynch任务,用于从其他用户获取聊天消息。我的查询如下: -
在MainActivity.java类中通过Asynch任务获取新消息 •如果列表中不存在联系人,是否可以在Chat_user类创建的列表视图(通过“回收”视图创建)中添加一个行项? •如果Chat_user类创建的列表视图中存在联系人,是否可以在现有行项目中添加文本值(上次检查后收到的聊天消息的数量)?
如果是,请告知如何实现这一目标?
提前thnx为你提供帮助.......答案 0 :(得分:0)
那么,为什么你没有使用它所来自的特定消息号或名称。
由于回购率低,我无法发表评论。
答案 1 :(得分:0)
您需要一个数据库来存储邮件历史记录。如果MainActivity通过AsyncTask接收新消息,则必须将消息存储到数据库中。当Chat_user Activity打开时,您只需从数据库加载消息。关于文本值(上次检查后收到的聊天消息的数量),您可以在数据库上创建一个存储计数器的字段。当新消息到达时,计数器将递增,当Chat_user Activity打开时,计数器将重置为0.如果您需要Android的良好数据库,我建议您使用GreenDAO。
从评论说明中更新: 因此,要直接从MainActivity更新Chat_user,您必须保留您创建的Chat_user的引用。
public class MainActivity extends Activity {
//keep the reference, so you can use it to update directly
private Chat_user chatUserFragment = new Chat_user();
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
//you must create a method to update your message list in your Chat_user, and call the method from your AsyncTask when a new message come
chatUserFragment.updateMessage(aNewMessage);
}
}
适配器示例:
public class MessageAdapter extends BaseAdapter {
private ArrayList<Message> data;
public MessageAdapter(){
}
public void setData(ArrayList<Message> data){
this.data = data;
}
@Override
public int getCount() {
return 0;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return null;
}
}