開發安全衛士中遇到的問題

異常一:

Can't create handler inside thread that has not called Looper.prepare()

這個異常是因爲非主線程中默認沒有創建對象。

所以就要看看該方法所在的線程是不是主線程

一看。真的不是。於是取消new Thread().start();搞定。

問題1:

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

pd.setTitle("下載中");

pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

pd.show();

//File file=DownFile.Down(str, pd);剛纔這段代碼不在線程內。所以ProgressDialog不顯示。

原因是不在子線程,在主線程。阻塞了UI刷新。


new Thread(new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

String str=loginBean.getUrl();

File file=DownFile.Down(str, pd);

if(file!=null){

pd.dismiss();

}

}

}).start();

}

});


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章