ProgressDialog不转动怎么解决myDialog = ProgressDialog.show(MainActivity.this, null,"正在连接服务器...",true,true);
new Thread(){
@Override
public void run() {
Intent intent = new Intent();
intent.setClass(MainActivity.this, CommodityActivity.class);
startActivity(intent);
myDialog.cancel();
}
}.start();大侠们,求解?
new Thread(){
@Override
public void run() {
Intent intent = new Intent();
intent.setClass(MainActivity.this, CommodityActivity.class);
startActivity(intent);
myDialog.cancel();
}
}.start();大侠们,求解?
解决方案 »
- 为什么导入的project名称是第一个layout 的名称?
- android利用代码获取软件的MD5指纹
- Surfaceview lockCanvas 锁特定rect的问题
- Android界面 求一种控件!! 着急。。。。急
- 直接调用 openmax IL 做 h264 解码, 有人会吗?
- android手机的sd卡
- 在layout 文件夹下新建一个xml文件和新建的Activity类
- android数据库访问
- Android 如何实现多个闹钟互不影响?
- 一个关于dialog调用事件的问题,请教各位大侠
- droiddraw 为什么比ADK自己带的界面编辑器好用?
- 处理异步任务是 AsyncTask好呢,还是Service好?
这样可以转
private Handler handler=new Handler();
Runnable run=new Runnable(、
//你的progressDialog
);
handler.post(run);楼主 你的 明白么?一切不再可一看到的东西都需要 用UI线程(handler)来处理 ,否则一对错误哦!
myDialog = ProgressDialog.show(CommodityActivity.this, null,"正在连接服务器..", false, false);
Handler handler = new Handler();
Runnable mTasks = new Runnable() {
public void run() {
Intent intent = new Intent();
intent.setClass(CommodityActivity.this, DetailsActivity.class);
startActivity(intent);
myDialog.cancel();
}
};
handler.post(mTasks);
handler不是这么用的
你定义一个handler,然后定义两个case,一个是你的progressdialog开始,一个是隐藏或者取消。
然后你在你主函数程序里,到该开始的时候,传过去一个handler message过去,结束的时候,也是传一个过去。传的参数等于你需要的case。
另外我不知道你这个程序是什么时候开始的,如果你只是给intent做一个progressbar,那应该看不出来的,因为他的跳转语句也就一瞬间。。
public void handleMessage(Message msg) { switch (msg.what) {
case DIALOG1_KEY:
dialog.show();
break;
case DIALOG2_KEY:
dialog.dismiss();
break;
}
} };
这个是开始的
Message message = new Message();
message.what = DIALOG1_KEY;
NoticeContent.this.myhandler.sendMessage(message);这个是结束的Message message = new Message();
message.what = DIALOG2_KEY;
NoticeContent.this.myhandler.sendMessage(message);
DIALOG1_KEY 和 DIALOG2_KEY 是两个final的int
这个一般都用在获取数据或者什么的,跳转用。。你是看不出来的,而且你页面跳过去了,在别的Activity里,你同样看不到啊
public class HelloXML extends Activity {
private static final int MESSAGETYPE_01 = 0x0001;
private ProgressDialog progressDialog = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
progressDialog = ProgressDialog.show(HelloXML.this, "下载", "正在下载,请稍候!");
new Thread() {
public void run() {
try {
// 连接网络获取数据
} catch (Exception e) {
// 在GUI显示错误提示
// tv.setText("Error: " + e.getMessage());
}
Message msg_listData = new Message();
msg_listData.what = MESSAGETYPE_01;
handler.sendMessage(msg_listData);
}
}.start();
} private Handler handler = new Handler() { public void handleMessage(Message message) {
switch (message.what) {
case MESSAGETYPE_01:
//刷新UI,显示数据,并关闭进度条
progressDialog.dismiss(); //关闭进度条
break;
}
}
};
}