1

私が持っている場合ImageButton myPicture。私は言うことができますmyPicture = (ImageButton) findViewById(myPicture.getId());か?

とにかくこれを実装できますか?

4

2 に答える 2

3

オブジェクトが既に存在する場合myPicture、なぜそれを再作成するのでしょうか?

はい、myPictureオブジェクトがアプリ コンテキストで既に作成されている場合、または以前にレイアウト内の Id を参照していた場合、これは機能します。

オブジェクトがnullであるため、これを初めての初期化として使用することはできません。最初にレイアウトから取得する必要があります。

編集

上記のコメントに応えて、これを 64 回行う代わりに、XML ファイルを使用してテンプレート レイアウトを作成し、Java コードでテンプレート レイアウトをループ内で拡張して、必要な情報を追加することができます。

于 2013-11-03T10:33:14.940 に答える
0

もちろんmyPicture、右のオペランドはまだ null であるため、これが原因で発生する可能性がありますが、プログラムで作成したビューをNullPointerExceptionキャッチできませんでした。ImageButton

ImageButton imageButton=new ImageButton(this);

または、レイアウトXMLファイルに描画し、これを使用して見つけますfindViewById(R.id.imageButtonId)

これにより実際にビューが作成ImageButtonされ、それを選択できますが、まだ選択するビューがありません

于 2013-11-03T10:35:00.687 に答える