私が持っている場合ImageButton myPicture
。私は言うことができますmyPicture = (ImageButton) findViewById(myPicture.getId());
か?
とにかくこれを実装できますか?
私が持っている場合ImageButton myPicture
。私は言うことができますmyPicture = (ImageButton) findViewById(myPicture.getId());
か?
とにかくこれを実装できますか?
オブジェクトが既に存在する場合myPicture
、なぜそれを再作成するのでしょうか?
はい、myPicture
オブジェクトがアプリ コンテキストで既に作成されている場合、または以前にレイアウト内の Id を参照していた場合、これは機能します。
オブジェクトがnullであるため、これを初めての初期化として使用することはできません。最初にレイアウトから取得する必要があります。
編集
上記のコメントに応えて、これを 64 回行う代わりに、XML ファイルを使用してテンプレート レイアウトを作成し、Java コードでテンプレート レイアウトをループ内で拡張して、必要な情報を追加することができます。
もちろんmyPicture
、右のオペランドはまだ null であるため、これが原因で発生する可能性がありますが、プログラムで作成したビューをNullPointerException
キャッチできませんでした。ImageButton
ImageButton imageButton=new ImageButton(this);
または、レイアウトXMLファイルに描画し、これを使用して見つけますfindViewById(R.id.imageButtonId)
これにより実際にビューが作成ImageButton
され、それを選択できますが、まだ選択するビューがありません