对于我在Activity里面通过子线程执行查询操作,我怎么把查询结果在父线程中使用呢,请给出示例
时间: 2024-05-05 08:20:35 浏览: 11
您可以使用Handler来在子线程和主线程之间进行通信。具体示例如下:
在主线程中:
```
// 定义一个Handler,用于接收子线程发来的消息
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
// 获取查询结果
String result = (String) msg.obj;
// 在主线程中使用查询结果
textView.setText(result);
}
};
```
在子线程中:
```
new Thread(new Runnable() {
@Override
public void run() {
// 在子线程中进行查询操作
String result = queryData();
// 创建一个Message对象
Message message = Message.obtain();
message.obj = result;
// 使用Handler将查询结果发送给主线程进行处理
mHandler.sendMessage(message);
}
}).start();
```
在上述示例中,子线程先进行查询操作,查询结果通过Message对象封装后发送给Handler,在Handler中获取到查询结果并在主线程中进行使用。