1

view.findViewById(id)在我的片段中使用来查找 时ListView,它返回正常并且我可以使用该值,但是,当我尝试ImageView使用完全相同的方法但只是将 ID 更改为正确的 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" />

4

1 回答 1

0

如果我错了,请纠正我,但如果您尝试访问属于 ListView 的自定义行的 ImageView,首先您需要设置适配器。然后,您需要从 Adapter 覆盖 getView()。然后获取 ImageView 的引用。

于 2013-07-08T21:40:49.430 回答