我觉得我不是个喜欢深入研究的人,因为我很懒。所以对能深入研究的大牛总是很崇拜。但是群里的IT男,有时候让人觉得很WS哦,但是我觉得WS不是IT男的本性。认真搞研究的IT男还是很帅的。
这个东西是自己研究的,为了界面实现加载的效果,但是碍于网速的影响,有时候用户还未等加载完就点击返回键取消了加载,那样当返回这个页面,再次进入加载的时候,由于ProgressDialog是在onCreate生成并展示的,所以不能ProgressDialog不能再次显示出来,为了使得界面更为友好,我是这样处理的,代码如下:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.viewpager);
pDialog = new ProgressDialog(this);
pDialog.setMessage("正在加载,请稍后...");
pDialog.show();
flag = true;
// pDialog.setCancelable(false);
HandlerLoader();
}
@Override
protected void onRestart()
{
if(flag){
ProgressDialog pDialog = new ProgressDialog(this);
pDialog.setMessage("正在加载,请稍后...");
pDialog.show();
HandlerLoader();//发起请求 请求网络数据
pDialog.dismiss();
}
super.onRestart();
}
重点在于onRestart方法,对于android的生命周期之类的东西,半路出家又懒得我研究的不是很透彻,但是onRestart这个方法还是起来很大作用,重点在于flag的值,只有在异步加载完数据,成功跳到handler中,进行数据初始化之前,将flag置为false,然后在restart中根据flag值判断是否进行要重新new ProgressDialog了。