我的主活动中有一个方法执行异步类,但是当我将警报框代码放入其中时它不起作用。即。
public void onGetStatus(View v) {
new AsyncClass().execute();
}
}
class AsyncClass extends AsyncTask < Void, Void, String > {
@
Override
protected String doInBackground(String...params) {
//TODO
}
}
protected void onPostExecute(String test) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setMessage(test);
alertDialogBuilder.show();
}
当我尝试在类的onPostexecture方法中执行AlertDialogBuilder时它不起作用,但是如果我复制并粘贴到调用AsyncTask类的方法中它可以正常工作。
答案 0 :(得分:1)
将new AlertDialog.Builder(this)
更改为new AlertDialog.Builder(youractivity.this)
答案 1 :(得分:1)
这个调用当前的Async对象。这样做: -
protected void onPostExecute(String test) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);//Put your activityname instead of MainActivity
alertDialogBuilder.setMessage(test);
alertDialogBuilder.show();
}