也许这是有史以来最愚蠢的问题,但我在获取实际的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
作为参数。当我在这里读到不同的问题时,没有其他方式可以从Activity
以外访问View
。但是,从Activity
本身,我怎样才能访问这个对象? Context
和MyActivity.class
都不是Activity
对象。
是什么让您认为在Activity类中使用'this'不引用该活动? – Daniel
因为我认为使用这个引用的上下文,我认为上下文!=活动。所以我的问题确实很愚蠢: -/ –
@Daniel这有点短视。 'this'指的是容器对象。例如,在一个Activity的匿名类中使用'this',像'new OnClickListener(){...}',不会引用Activity类。 – Sam