2011-06-20 6 views
0

私は自分のonCreateメソッドに多くのfindViewByIdを持っています。それらの一部は、onCreateメソッドで作成したオブジェクトのパラメータです。今度は、私のオブジェクトのコンストラクタでfindViewById-callを作成しようとしましたが、Null-Pointerを取得しました。 これらのfindViewByIdsをオブジェクトにどのように取得するのですか?findViewByIdによるヌルポインタ

+0

これはちょっと変わったようです。あなたがしようとしていることのアイデアを得るために、コードの一部を表示できますか? –

答えて

0

現在のアクティビティを使用するか、そのメソッドがアクティビティでのみ使用可能なので、アクティビティをオブジェクトに渡す必要があります。

0

コンストラクタでは、オブジェクトにコンテキストがまだないため、findViewByIdは機能しません。 onCreateはそれらを配置するための適切な場所です。あなたのオーバーライドであなたのコンテキストを渡す、または他のこのようなものを使用して、それが静的に宣言する必要がある

0

static public activity = Activity.this; 

しかしこれは、悪いプログラミングの練習かもしれません。一般的な基本クラスを作成し、それを各ビューの「コントローラ」として実装することを検討することをお勧めします。

これが役に立った!