读书人

handler和ProgressDialog这种写法貌似

发布时间: 2012-06-05 13:54:06 作者: rapoo

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,
就这么简单,我不知道你有什么想问的,帖子都发了好几个了。

读书人网 >Android

热点推荐