private void sendMessage() { String text = mEditMessage.getText().toString(); if (!TextUtils.isEmpty(text)) { // 将消息添加到消息列表中 mMessages.add(new Message(text, true)); mMessageAdapter.notifyItemInserted(mMessages.size() - 1); // 清空输入框 mEditMessage.setText(""); // 模拟接收到一条消息 receiveMessage(); } } private void receiveMessage() { // 模拟接收到一条消息 Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { // 将消息添加到消息列表中 mMessages.add(new Message("你好!", false)); mMessageAdapter.notifyItemInserted(mMessages.size() - 1); } }, 1000); }用伪代码表示
时间: 2024-04-27 12:22:30 浏览: 77
函数 sendMessage():
text = 获取输入框中的文本
如果文本非空:
将文本封装成消息对象并添加到消息列表中
通知消息适配器有新的数据插入
清空输入框
调用函数 receiveMessage()
函数 receiveMessage():
延迟1秒后执行以下操作:
将一条“你好!”的消息封装成消息对象并添加到消息列表中
通知消息适配器有新的数据插入
相关问题
public void method(View v){ switch (v.getId()) { case R.id.ok: String userName = this.account.getText().toString().trim(); String pas = this.password.getText().toString().trim(); String repas = this.repassword.getText().toString().trim(); if("".equals(userName) || "".equals(pas)){ Toast.makeText(RegisterActivity.this, "用户名或密码不能为空!", Toast.LENGTH_SHORT).show(); }else{ new Thread(){ @Override public void run() { String res = webService.sendGetRequest(UrlUtils.register(userName, pas, userTypeStr)); Message msg = Message.obtain(); if(TextUtils.isEmpty(res)){ msg.what = 100; }else{ msg.what = 2; Result bean = ParseUtils.parseInfor(res); msg.obj = bean; } handler.sendMessage(msg); } }.start(); } break;
这是一个 Android 开发中的注册功能的代码,使用了 switch-case 语句对不同的 View 进行处理。当点击“ok”按钮时,获取用户输入的用户名和密码,并对其进行非空判断。如果输入为空,则弹出一个 Toast 提示用户。否则,开启一个新线程,调用 webService 发送注册请求,并将结果通过 Handler 发送给主线程进行处理。其中,UrlUtils 是一个工具类,用于生成注册请求的 URL;userTypeStr 是一个用户类型的字符串参数。
阅读全文