Java 从另一个活动调用方法
我想在第二个类中调用第一个类中的方法。第一类中的方法是:Java 从另一个活动调用方法,java,android,Java,Android,我想在第二个类中调用第一个类中的方法。第一类中的方法是: public void runLink( final Context context,final String link){ final ProgressDialog progressDialog = new ProgressDialog(this); progressDialog.setMessage(LocaleController.getString("Loading", R.string.Loading));
public void runLink( final Context context,final String link){
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setMessage(LocaleController.getString("Loading", R.string.Loading));
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setCancelable(false);
// other code
}
在第二节课上,我有:
First f=new First();
f.runLink(getActivity(),"BmJblT5G2bQEaSI6D6Q1Mw");
但当我运行它时,我的应用程序将停止,并记录cat reference我的第一类错误行:
final ProgressDialog progressDialog = new ProgressDialog(this);
如何解决此问题?替换此行
final ProgressDialog progressDialog = new ProgressDialog(this);
用这个
final ProgressDialog progressDialog = new ProgressDialog(context);
我相信你需要用“上下文”来代替“this”。
原因是,当您从第二个类调用“runLink()”时,“this”参数引用的是第一个类的上下文,该上下文未处于活动状态。您不能创建这样的活动:
newfirst()
。。。另外,似乎runLink
应该是一个util静态方法。。。显然,您应该使用第一个方法的参数,在您调用的其他活动中使用该方法,并通过intentuse上下文传递信息,而不是使用“final ProgressDialog ProgressDialog=new ProgressDialog(上下文)”`谢谢大家。我发现了一个错误。请原谅我提了个坏问题