次のように、2 つの兄弟ビューを持つ xml があります。
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="12sp"
android:textColor="#ffffffff"
android:layout_weight="20"
android:gravity="center_horizontal"
android:layout_column="0"
android:layout_columnWeight="45"
android:layout_rowWeight="10"
android:id="@+id/type"
android:text="First\nLow" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="12:16 AM"
android:textSize="20sp"
android:textColor="#ffffffff"
android:layout_weight="40"
android:gravity="center_horizontal"
android:layout_columnWeight="45"
android:layout_rowWeight="10"
android:layout_gravity="center_vertical"
android:id="@+id/time" />
そして、ここに私のコードがあります:
TextView type_textView = (TextView) inflatedLayout.findViewById(R.id.type);
TextView time_textView = (TextView) inflatedLayout.findViewById(R.id.time);
オブジェクトtime_textView
は正常に動作しています。問題はそれtype_textView
ですnull
!
両方の TextView は同じレイアウトにあり、両方とも同じ親レイアウト (兄弟) を持っています。これは実際には他の 10 個の TextView で発生していますが、他の 20 個の兄弟 TextViews は正常に動作しています。質問を簡単にするために、兄弟を2人だけ連れてきました。
関連するすべてのfindViewByIdソリューションを検索して試しました:
1. クリーンアップして再構築します。 2. XML を削除し、再度追加します。 3. キャッシュの無効化と再起動。 4. SetContentView()。 5. すべての XML ファイルのすべてのエラーを修正します (@dimens と @strings を使用する必要があるなどのばかげた警告がまだたくさんあります)。 6. ID をすべての XML ファイルで一意にします。
問題がある場合は、すべて AsyncTask 内で実行していますdoInBackground
。私はそれを試してみましたがonPostExecute
、それでも同じ問題が発生しました。
ありがとうございました。