handler和ProgressDialog这种写法貌似正确,但是我隐约觉得有错误
我是看网页上的例子写的
首先A页面中写
- Java code
Handler handler = new Handler(); Runnable mTasks = new Runnable() { public void run() { myDialog = ProgressDialog.show(Stu80Activity.this, "O(∩_∩)O", "网络数据加载中,请稍后...", true); Intent intent=new Intent(); intent.setClass(Stu80Activity.this,list.class); Bundle bundle=new Bundle(); bundle.putString("param", param); intent.putExtras(bundle); startActivity(intent); } }; //handler.postDelayed(mTasks,1000); handler.post(mTasks); public static void closeProgressDialog() { myDialog.dismiss(); } 然后B页面中
- Java code
private static final int EVENT_TIME_TO_CHANGE_IMAGE = 100;private Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch(msg.what){ case EVENT_TIME_TO_CHANGE_IMAGE: Stu80Activity.closeProgressDialog(); break; } }}; Message message = mHandler.obtainMessage(EVENT_TIME_TO_CHANGE_IMAGE); mHandler.sendMessage(message);这种写法没报错,运行出来的样子就是在A页面点击,出现一个“正在加载中”的框框,然后跳转到B页面,
我发现的问题是
正在加载中的旋转轮 只转动大约1厘米,,本来没什么,但是
b页面调用网络数据大小不一样, 每次都是转动大约1厘米,,就感觉不正常了
而且框框没有出现在B页面上,都是在A页面上出来了一下,就跳到B页面,没在B页面上停留片刻。
问题出在哪里???
[解决办法]
你有没有认真看过我昨天回复的代码?
你的myDialog是在AActivity中,连Activity都转到B了,还想看到什么myDialog?
我昨天说了,A直接转到B,B中声明myDialog,首先显示它,
再新开线程调用网络数据,完成加载后用Handler关闭自身Activity中的myDialog,
就这么简单,我不知道你有什么想问的,帖子都发了好几个了。