以下代码中的LayoutInflater.Inflate方法有什么问题?

时间:2013-02-18 17:55:08

标签: android baseadapter

当语句convertView = mInflater.inflate(R.layout.listitem_course, null);在BaseAdapter的以下重写方法中执行时,应用程序停止。我不知道为什么。

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Log.i(StudyManagerDataSource.LOG_TAG,
            "CourseListAdapter -> getView called!");
    if (convertView == null) {
        Log.i(StudyManagerDataSource.LOG_TAG,
                "CourseListAdapter -> Convet view is null called 1!");
        convertView = mInflater.inflate(R.layout.listitem_course, null);

        mViewHolder = new ViewHolder();

        mViewHolder.courseNameTextView = (TextView) convertView
                .findViewById(R.id.courseNameTextView);

        convertView.setTag(mViewHolder);

    } else {
        mViewHolder = (ViewHolder) convertView.getTag();
    }

    Course mCourse = mCourses.get(position);

    mViewHolder.courseNameTextView.setText(mCourse.getCourseName());

    Log.i(StudyManagerDataSource.LOG_TAG,
            "CourseListAdapter -> getView executed!");

    return convertView;
}

listitem_course的代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<TextView
    android:id="@+id/courseNameTextView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="20sp" />
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

你应该用它来夸大你的物品:

mInflater.inflate(R.layout.listitem_course, parent, false);

编辑:

parent是ViewGroup,在你的情况下,你的膨胀视图将插入getView()方法的父参数..