0

多分これはこれまでで最もばかげた質問かもしれませんが、実際の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");
    }
}

メソッドにアクセスするには、 as パラメータfindViewById(...)を渡す必要があります。ここでさまざまな質問を読んでいるように、実行中の外部から sActivityにアクセスする方法は他にありません。しかし、それ自体から、どうすればこのオブジェクトにアクセスできるのでしょうか? theも the もオブジェクトではありません。ViewActivityActivityContextMyActivity.classActivity

4

3 に答える 3

1

これを使用して、現在のオブジェクトを取得します。アクティビティ内では、事前に何もせずに findViewByID を呼び出すことができます。

于 2012-10-31T19:09:19.717 に答える
0

アクティビティからそのメソッドを呼び出す場合は、checkPlaceInput( this ).

于 2012-10-31T19:09:30.117 に答える
0

キーワードを使用してくださいthis.- それはあなたのオブジェクトインスタンスです。findViewById()Activity スコープ内では、直接呼び出すことができます

于 2012-10-31T19:11:10.480 に答える