Chat 刷新聊天时遇到问题
见鬼。。。我正在努力使用这个简单的聊天应用程序…我只是在练习。。。。。我无法让聊天列表自动刷新…我看到我发送的最新消息的唯一方法是关闭应用程序并重新打开 `Chat 刷新聊天时遇到问题,chat,adapter,Chat,Adapter,见鬼。。。我正在努力使用这个简单的聊天应用程序…我只是在练习。。。。。我无法让聊天列表自动刷新…我看到我发送的最新消息的唯一方法是关闭应用程序并重新打开 ` ListView-ListView; ArrayAdapterlistloader; 文本视图编辑消息; 按钮发送; 私有静态处理程序; @凌驾 创建时的公共void(Bundle savedInstanceState) { enableLocalDatastore(this); 初始化(这个,“,”); super.onCreate(sa
ListView-ListView;
ArrayAdapterlistloader;
文本视图编辑消息;
按钮发送;
私有静态处理程序;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
enableLocalDatastore(this);
初始化(这个,“,”);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
最终EditText editmsg=(EditText)findViewById(R.id.editmsg);
最终按钮convalsend=(按钮)findViewById(R.id.convalsend);
最终ListView ListView=(ListView)findViewById(R.id.ListView);
getActionBar().setTitle(“网络聊天”);
handler=新的handler();
setOnClickListener(新的OnClickListener()
{
@凌驾
公共void onClick(视图v)
{
//按钮发送
字符串msg=editmsg.getText().toString();
ParseObject用户=新的ParseObject(“用户”);
用户。put(“名称”、“麦肯尼”);
用户。put(“年龄”、“26”);
用户输入(“性别”,msg);
users.savefinally();
}});handler.postDelayed(新的Runnable()
{
@凌驾
公开募捐
{
ParseQuery q=ParseQuery.getQuery(“用户”);
q、 设定上限(30);
q、 orderByDescending(“创建数据”);
q、 其中,“名称”、“麦肯尼”);
q、 findInBackground(新的FindCallback()
{
@凌驾
已完成公共作废(列表,Parsee异常)
{
ArrayList=新的ArrayList();
for(ParseObject用户:u)
{
添加(user.getString(“name”);
list.add(user.getString(“性别”);}
listloader=newarrayadapter(MainActivity.this,R.layout.list,list);
listloader.notifyDataSetChanged();
setAdapter(listloader);
}
});
}},1000);
}}
要立即查看最新消息,无需关闭然后打开应用程序,您需要设置并使用消息侦听器。以下是在聊天室中如何实现接收消息的示例:
只是一个建议:请尝试改进代码示例格式,删除那些不必要的行,并写更多的行来说明您面临的确切问题。更进一步,这是C#?JAVA安卓标记你的语言。它是Java+android…我不知道如何更好地解释,但谢谢…我只需要新数据自动刷新。。。无需关闭应用程序并重新打开它即可查看新数据。。。
ListView listView;
ArrayAdapter<String>listloader;
TextView editmsg;
Button convosend;
private static Handler handler;
@Override
public void onCreate(Bundle savedInstanceState)
{
Parse.enableLocalDatastore(this);
Parse.initialize(this, "", "");
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final EditText editmsg=(EditText)findViewById(R.id.editmsg);
final Button convosend=(Button)findViewById(R.id.convosend);
final ListView listView=(ListView)findViewById(R.id.listView);
getActionBar().setTitle("Cyber chat");
handler =new Handler();
convosend.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
//button send
String msg= editmsg.getText().toString();
ParseObject users = new ParseObject("Users");
users.put("name", "mckeny");
users.put("age", "26");
users.put("gender", msg);
users.saveEventually();
}}); handler.postDelayed(new Runnable()
{
@Override
public void run()
{
ParseQuery <ParseObject> q=ParseQuery.getQuery("Users");
q.setLimit(30);
q.orderByDescending("createdAt");
q.whereEqualTo("name","mckeny");
q.findInBackground(new FindCallback<ParseObject>()
{
@Override
public void done(List<ParseObject>u,ParseException e)
{
ArrayList<String>list =new ArrayList<String>();
for(ParseObject user:u)
{
list.add(user.getString("name"));
list.add(user.getString("gender"));}
listloader = new ArrayAdapter(MainActivity.this,R.layout.list,list);
listloader.notifyDataSetChanged();
listView.setAdapter(listloader);
}
});
}},1000);
}}
IncomingMessagesManager incomingMessagesManager = chatService.getIncomingMessagesManager();
incomingMessagesManager.addDialogMessageListener(new ChatDialogMessageListener() {
@Override
public void processMessage(String dialogId, ConnectycubeChatMessage message, Integer senderId) {
}
@Override
public void processError(String dialogId, ChatException exception, ConnectycubeChatMessage message, Integer senderId) {
}
});