0

也许这是有史以来最愚蠢的问题,但我在获取实际Activity对象时遇到了一些麻烦。

我的目的:

为了从不同的s中提取错误处理,我用静态方法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(...)方法,我必须传递Activityas 参数。正如我在这里阅读的不同问题一样,没有其他方法可以View从 running 外部访问 s Activity。但是,从它Activity本身,我怎样才能访问这个对象呢?theContext和 theMyActivity.class都不是Activity对象。

4

3 回答 3

1

使用来获取当前对象。在 Activity 中,您可以直接调用 findViewByID 而无需任何操作。

于 2012-10-31T19:09:19.717 回答
0

如果您从 Activity 调用该方法,只需执行checkPlaceInput( this ).

于 2012-10-31T19:09:30.117 回答
0

使用this.关键字 - 它是您的对象实例。在活动范围内,您可以直接findViewById()调用

于 2012-10-31T19:11:10.480 回答