我有一个带有两个兄弟视图的 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 个同级 TextView 工作正常。我只带了两个兄弟姐妹来直截了当地提出问题。
我搜索并尝试了所有相关的 findViewById 解决方案:
1. 清理和重建。 2. 删除 XML 并重新添加。 3.缓存失效并重启。 4. 设置内容视图()。 5. 修复所有 XML 文件中的所有错误(我仍然有大量愚蠢的警告,例如必须使用 @dimens 和 @strings)。 6. 使ID 在所有XML 文件中唯一。
如果这很重要,我会在 AsyncTask 中完成所有这些工作doInBackground
。我尝试并将其移至onPostExecute
相同的问题。
谢谢你。