作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在按下按钮时在蓝牙设备中发送和接收一些数据包时运行 ProgressDialog(Spinner)。这是代码
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Handler handler = new Handler();
Runnable r=new Runnable()
{
public void run()
{
dialog1 = ProgressDialog.show(Test.this, "",
"Receiving. Please wait...", true);
}
};
handler.post(r);
blueToothServer.getDevicebyMac();
blueToothServer.rfSocket();
blueToothServer.cancelDiscovery();
blueToothServer.connectSocket();
//toastMessage("Socket connected");
blueToothServer.ipstream();
blueToothServer.opStream();
blueToothServer.SendnRXDataToBTServer(2, "some String");
String Result1 = blueToothServer.response(1);
tv1.setText("Temperatue : " + Result1);
dialog1.dismiss();
}
但我没有收到 ProgressDialog。但是我可以发送和接收数据包。但是当我评论 blueToothServer 操作时,我得到了进度对话框。请解释一下我可以同时获得两者的情况。谢谢。
最佳答案
您应该在 UI 线程中显示 ProgressDialog
并在后台线程中执行蓝牙操作。正是出于这个目的,AsyncTask
提供。
关于android - 在 Android 的线程中运行 ProgressDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12870496/
我是一名优秀的程序员,十分优秀!