我有一个扩展类Thread
。此类将读取一些字节bluetooth
,一旦完成或读取最后一个字节,它将调用 anevent listener
以更新所有侦听类。
在蓝牙类中是这样的:
fileCompleteInitiator.fileCompleted(fileName);
实现的方法创建一个AsyncTask
为了处理这个文件:
public class Home extends Activity {
//other methods like onCreate..
@Override
public void fileComplete(String fileName) {
if(fileName.endsWith(".zip")) {
CaseGenerator generator = new CaseGenerator(Home.this, fileName, lastCases, nist);
generator.execute("");
}
}
}
在这个异步任务中,我想显示一个progressdialog
,但我得到了一个不那么原始的异常:
Cant create handler inside thread that has not called looper.prepare
它的代码是通常的东西,创建progressdialog
inonPreExecute()
并在onPostExecute()
. 一些代码
@Override
protected void onPreExecute() {
super.onPreExecute();
pd = new ProgressDialog(context);
pd.setTitle("Please Wait..");
pd.setMessage("Generating file");
pd.show();
}
.....................
@Override
protected void onPostExecute(Integer result) {
super.onPostExecute(result);
if(pd != null)
pd.dismiss();
}
我错过了什么?