也許這是有史以來最愚蠢的問題,但我在獲取實際的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