ImageViewウィジェットでfindViewByIdがnullを返しています。何も起こっていないことを示すlogcatには何もエラーも何もありません。 IDの一致やその他の画像ビューが適切に設定されています。 Javaとxmlは、RelativeLayoutの子孫であるjavaで定義されたクラスを指すxmlのclassタグによってリンクされています。findViewById(...)がnullを返すのはなぜですか?
R.id.more_icon1の名前を変更しようとしましたが動作しませんでした。クリーニングを試みたが動作しなかった。デバッガを使用して、実際に過去に移動したかどうか、およびmMoreIcon == nullを返すかどうかを確認します。
これは、です。他のImageViewはうまく動作します。
誰でもこれまでに見たことがありますか、またはアイデアがありますか?
Javaコード:クラスは、XMLコード
@Override
protected void onFinishInflate() {
super.onFinishInflate();
mText1 = (TextView) findViewById(R.id.text1);
mText2 = (TextView) findViewById(R.id.text2);
mIcon1 = (ImageView) findViewById(R.id.icon1);
mIcon2 = (ImageView) findViewById(R.id.icon2);
// mMoreIcon is the one that gets set as null. mIcon1 and mIcon2 work just fine.
mMoreIcon = (ImageView) findViewById(R.id.more_icon1);
}
RelativeLayout
の子孫である:<ImageView android:id="@+id/icon1"
style="@style/SuggestionIcon1"
android:scaleType="centerInside"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
/>
<!-- This is the icon that is being returned as null -->
<ImageView android:id="@+id/more_icon1"
style="@style/MoreIcon2"
android:scaleType="centerInside"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:visibility="gone" />
<ImageView android:id="@+id/icon2"
style="@style/SuggestionIcon2"
android:scaleType="centerInside"
android:layout_toLeftOf="@id/more_icon1"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:visibility="gone" />
おかげ
私の側からの愚かな質問ですが、R.javaファイルを再作成しようとしましたか(Eclipseから削除しますか、それは再作成されます)、またはボタンの別の名前を使用していますか?私はかつて同じ種類の問題を抱えていました。 –
愚かな質問ではありませんが、私は持っています。私はR.javaファイルを削除し、生成されたすべてのファイルを再作成するmake cleanを行いました。私も名前を変更しようとしました。最初はそれはちょうど__iconでした。 – FuegoFingers
Hmm。今、これは奇妙なものです。私はあなたのレイアウトを再現しようとしました(レイアウトはRelativeLayoutの子孫であるが、それは問題ではないはずです)。 私は本当に問題が何かを知る手がかりがありません。/ binフォルダを消去してプロジェクトを再構築しようとしています。それは私にとっていくつかの説明できない問題を解決した。 –