我想创建一个可以被任何活动使用的LoadingDialog
类。我想出了这样的代码:
public class loadingScrn extends AsyncTask<String,Void,Void> {
ProgressDialog dialog=null;
protected void onPreExecute() {
dialog = ProgressDialog.show(null, "", "", true);
}
protected Void doInBackground(String... text) {
dialog.setMessage(text[0]);
return(null);
}
protected void onProgressUpdate() { }
protected void onPostExecute(Void unused) {
if(dialog!=null)
dialog.dismiss();
}
}
但我有一个问题 - 对话的愚蠢“背景”!我的“加载”类是独立的,因此我无法拨打getApplicationContext()
,也不能拨打getBaseContext()
。我根本不知道从哪里获取上下文!你有什么想法吗?
答案 0 :(得分:0)
为什么不创建一个构造函数,它接受Context对象的单个参数,将其存储在一个字段中,然后您可以在需要的地方访问它?创建类loadScrn实例的Activity只是在创建Context对象时传递它。
请记住将默认构造函数设为私有,以便只有在提供了Context的情况下才能创建loadingScrn的实例。
public class loadingScrn extends AsyncTask<String,Void,Void> {
private final Context context;
public loadingScrn( Context context )
{
super();
this.context = context;
}
private locaingScrn()
{
super();
}
.
.
.
}