我知道它应该是上下文。究竟什么是上下文。通常当我在一个类中创建一个对话框时,我会做这样的事情:
final Dialog dialog = new Dialog(this);
但现在我正在尝试在 AsyncTask<> 中创建一个对话框,因此我无法执行上述操作,因为 AsyncTask 显然不是上下文。AsyncTask 本身就是一个类,也就是说它现在不是一个子类。
public class popTask extends AsyncTask<Void, Void, String> {
Context con =
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
final Dialog dialog = new Dialog(con);
dialog.setContentView(R.layout.custom);
dialog.setTitle("New & Hot advertise");
// set the custom dialog components - text, image and button
TextView text = (TextView) dialog.findViewById(R.id.text);
text.setText("Android custom dialog example!");
ImageView image = (ImageView) dialog.findViewById(R.id.image);
image.setImageResource(R.drawable.yoda);
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
// if button is clicked, close the custom dialog
dialogButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
@Override
protected String doInBackground(Void... params) {
// TODO Auto-generated method stub
return null;
}
}