Java 我正在将上下文传递给构造函数,但服务仍然需要根据ide指定的类名
我创建了一个类,并在构造函数中给它上下文Java 我正在将上下文传递给构造函数,但服务仍然需要根据ide指定的类名,java,android,class,android-context,Java,Android,Class,Android Context,我创建了一个类,并在构造函数中给它上下文 public class DownloadHandler { private Context mContext; private String filename; private String remotePath; public static final int DIALOG_DOWNLOAD_PROGRESS = 0; private ProgressDialog m
public class DownloadHandler {
private Context mContext;
private String filename;
private String remotePath;
public static final int DIALOG_DOWNLOAD_PROGRESS = 0;
private ProgressDialog mProgressDialog;
//Constructor====================================================================
public DownloadHandler(String rp, String f, Context c) throws Exception {
mContext = c;
remotePath = rp;
filename = f;
}
...
IDE抱怨progressDialog需要一个类
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_DOWNLOAD_PROGRESS:
//==============HERE================================
mProgressDialog = new ProgressDialog(mContext.this);
//==================================================
mProgressDialog.setMessage("Downloading file..");
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setCancelable(false);
mProgressDialog.show();
return mProgressDialog;
default:
return null;
}
}
我以为我做得对….@Hacketo写道:
为什么mContext。这个?,应该是“mContext
”
@穆罕默德·拉查马尼写道:
你的意思是this.mContext
@布莱恩特解释说:
这是一个对象,您可以从那里向前移动:this.myMemberVariable
我尽量避免这种情况,尽可能不明确地引用它。如果您有一个成员变量\u foobar
,但没有相同名称的局部变量,那么在您的方法中\u foobar
实际上意味着:\u foobar
。(许多人使用“”前缀仅用于成员变量的约定;有几个优点,其中之一就是清晰)
为什么mContext.this?应该是“mContext”你的意思是this.mContext
?@Hacketo。。。哦!我弄不清楚什么时候该用电脑。this@silversunhunter. -1-这是一个对象,您可以从那里向前移动:this.myMemberVariable-2-我尽量避免这种情况,尽可能不明确地引用这个。如果您有一个成员变量\u foobar
,但没有同名的局部变量,那么在您的方法中\u foobar
实际上意味着这一点。\u foobar
。(许多人使用的惯例是“u”前缀仅用于成员变量;这有几个优点,其中之一就是清晰性)--谢谢你的解释,布莱恩