也许这是最愚蠢的问题,但我在获取实际的Activity
对象时遇到了一些麻烦。
我的目的:
为了从不同的Activity
中提取错误处理,我使用静态方法创建了一个类ErrorHandler
。
这样的方法如下所示:
public class ErrorHandler {
...
public static ErrorTuple checkPlaceInput(Activity activity){
EditText edit = (EditText) activity.findViewById(R.id.et_nbge_place);
if(edit.getText().toString().equals("") || edit.getText()==null){
return new ErrorTuple(false, "Please enter a place!");
}
return new ErrorTuple(true, "everything is fine");
}
}
为了访问findViewById(...)
方法,我必须传递Activity
作为参数。当我在这里阅读不同的问题时,没有其他方法可以从正在运行的View
外部访问Activity
。但是,从Activity
本身,我该如何访问这个对象? Context
和MyActivity.class
都不是Activity
对象。
答案 0 :(得分:1)
使用this获取当前对象。在Activity中,您可以在之前没有任何内容的情况下调用findViewByID。
答案 1 :(得分:0)
如果您从某个活动中调用该方法,只需执行checkPlaceInput( this )
。
答案 2 :(得分:0)
使用this.
关键字 - 它是您的对象实例。在活动范围内,您只需直接致电findViewById()