view.findViewById为ImageView返回null,但不返回ListView

时间:2013-07-08 21:26:02

标签: android android-listview android-imageview

在我的片段中使用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" />

1 个答案:

答案 0 :(得分:0)

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