Android 如何获得实际活动?
也许这是有史以来最愚蠢的问题,但我在获取实际的Android 如何获得实际活动?,android,android-activity,findviewbyid,Android,Android Activity,Findviewbyid,也许这是有史以来最愚蠢的问题,但我在获取实际的活动对象时遇到了一些困难 我的目的: 为了从不同的活动s中提取错误处理,我使用静态方法创建了一个类ErrorHandler 这种方法如下所示,例如: public class ErrorHandler { ... public static ErrorTuple checkPlaceInput(Activity activity){ EditText edit = (EditText) activity.findVie
活动
对象时遇到了一些困难
我的目的:
为了从不同的活动
s中提取错误处理,我使用静态方法创建了一个类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(…)
方法,我必须将活动作为参数传递。正如我在这里读到的不同问题一样,没有其他方法可以从正在运行的活动
外部访问视图
s。但是,从活动本身
如何访问此对象?上下文
和MyActivity.class
都不是确切的活动
对象。用于获取当前对象。在一个活动中,您可以调用findViewByID而无需任何操作。如果您是从一个活动调用该方法,只需执行检查placeInput(this)
使用this。
关键字-它是您的对象实例。在活动范围内,您可以直接调用findViewById()
是什么让您认为在活动类中使用“this”不会引用该活动?因为我认为使用它会引用上下文,而我认为上下文!=活动。所以我的问题是愚蠢的:-/@Daniel这有点近视<代码>此
引用容器对象。例如,在活动的匿名类中使用this
,例如newonclicklistener(){…}
,将不会引用活动类。