public void showOpView(boolean show, boolean edit) { op_view.post(() -> { if (show) { if (edit) { view_can_send.setVisibility(View.VISIBLE); } else { view_can_send.setVisibility(View.GONE); } op_view.setVisibility(View.VISIBLE); } else { op_view.setVisibility(View.GONE); } }); } public void showRecvLen(long len){ text_recv_len.post(()->{ if(len>=0){ text_recv_len.setText(String.valueOf(len)); } }); }解释每一句代码
时间: 2024-02-10 07:34:51 浏览: 115
这是一段蓝牙相关的代码,具体解释如下:
1. `public void showOpView(boolean show, boolean edit) { ... }`: 这是一个公共方法,用于显示操作视图。在方法中,首先通过`op_view.post(() -> { ... })`将后续的操作放到UI线程中执行。然后,如果`show`参数为`true`,则根据`edit`参数的值,设置`view_can_send`对象的可见性。如果`edit`为`true`,则将`view_can_send`设置为可见;否则,将其设置为不可见。最后,设置`op_view`对象的可见性为可见或不可见,具体取决于`show`参数的值。
2. `public void showRecvLen(long len){ ... }`: 这是一个公共方法,用于显示接收到的数据长度。在方法中,通过`text_recv_len.post(() -> { ... })`将后续的操作放到UI线程中执行。然后,如果`len`参数大于等于0,就将`len`转换为字符串并设置为`text_recv_len`对象的文本内容。
相关问题
public void showMsg(String text) { msg_view.post(() -> msg_view.setText(text)); } // 显示接收数据 public void showRecvData(String text, boolean append) { edit_recv_data.post(() -> { if (edit_recv_data.getLineCount() > 4 || edit_recv_data.length()>1000 || !append) { edit_recv_data.setText(text); } else { edit_recv_data.append(text); } }); } public void showRecvData(String text){ showRecvData(text, true); }; /** * 显示操作区域 * * @param show 显示接收区域(连接之后) * @param edit 可编辑,显示编辑区域(服务匹配之后) */ public void showOpView(boolean show, boolean edit) { op_view.post(() -> { if (show) { if (edit) { view_can_send.setVisibility(View.VISIBLE); } else { view_can_send.setVisibility(View.GONE); } op_view.setVisibility(View.VISIBLE); } else { op_view.setVisibility(View.GONE); } }); } public void showRecvLen(long len){ text_recv_len.post(()->{ if(len>=0){ text_recv_len.setText(String.valueOf(len)); Log.i(TAG,"len.." +len); } }); } public void run(byte[] value){ // 拼接数据 String byteStrTemp = Util.byte2Str(value); bleDataStr += byteStrTemp;
根据你提供的代码,我将这些方法拼接起来,让界面显示接收到的数据:
```
public void run(byte[] value) {
// 拼接数据
String byteStrTemp = Util.byte2Str(value);
bleDataStr += byteStrTemp;
// 显示接收数据
showRecvData(bleDataStr);
// 显示数据长度
showRecvLen(bleDataStr.length());
// 显示操作区域
showOpView(true, true);
}
```
这段代码将接收到的数据拼接到 `bleDataStr` 字符串上,并调用 `showRecvData()` 和 `showRecvLen()` 方法分别显示接收到的数据和数据长度。最后,调用 `showOpView()` 方法显示操作区域。
阅读全文