【发布时间】:2023-03-25 09:21:02
【问题描述】:
在我的片段中使用view.findViewById(id) 来查找ListView 时,返回正常,我可以使用该值,但是,当我尝试使用完全相同的方法查找ImageView 时,只是将ID 更改为正确的,它将返回 null,这会导致应用程序稍后出现问题。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View fragmentView = inflater.inflate(R.layout.fragment_boardlist,
container, false);
boardListView = (ListView) fragmentView
.findViewById(R.id.fragmentListView);
stickyImageView = (ImageView) fragmentView
.findViewById(R.id.favouriteImageView);
// ...
return fragmentView;
}
不知道为什么会发生这种情况,因为我正在使用相同的方式,所以我想知道是否有其他人知道原因。
这是 XML:
<TextView
android:id="@+id/initialsTextView"
android:layout_width="35dp"
android:layout_height="fill_parent"
android:layout_marginBottom="10dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:gravity="center_vertical"
android:textSize="12sp" />
<TextView
android:id="@+id/fullNameTextView"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:layout_weight=".85"
android:gravity="center_vertical"
android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
android:id="@+id/favouriteImageView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight=".15"
android:clickable="true"
android:contentDescription="@string/imageview_contentdescription"
android:src="@android:drawable/star_big_off" />
【问题讨论】:
-
能贴出ImageView所在的xml吗?
-
@E.Odebugg,当然。我已将其添加到问题中。
-
您是否忘记复制 XML 文件的 ListView 部分?
-
@dymmeh
ListView在片段本身中,这是自定义ListView行的 XML。 -
您正在为单个列表行加载整个片段?要从 ListFragment 中获取 ListView,只需调用 getListView()。
标签: android android-listview android-imageview