我的自定义适配器无法解析findViewById()

时间:2015-08-03 12:14:48

标签: java android

大家好我刚刚为我的小应用程序创建了一个自定义行和自定义适配器。手头的问题是当我尝试在我的自定义适配器中使用findViewById方法来获取我的自定义布局中的TextView的引用时。 Android工作室将该字母设置为红色并给我一个错误,说无法解析方法findViewById(int)。 这是自定义适配器的代码:

package com.example.opeyemi.storytime;

import android.app.Activity;
import android.content.Context;
import android.text.Layout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;


import java.util.ArrayList;
public class listViewBookAdapter extends ArrayAdapter<Book> {


    public listViewBookAdapter(Context context, ArrayList<Book>books) {
        super(context,R.layout.row_layout,books);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        LayoutInflater inflator=LayoutInflater.from(getContext());
        View bookRow=inflator.inflate(R.layout.row_layout, parent, false);
        Book book=getItem(position);
        TextView bookNameLabel=(TextView)findViewById(R.id.bookNameLabel);
        return bookRow;

    }
}

2 个答案:

答案 0 :(得分:2)

只需在bookRow

之前添加findViewById即可
View bookRow=inflator.inflate(R.layout.row_layout, parent, false);
        Book book=getItem(position);
        TextView bookNameLabel=(TextView)bookRow.findViewById(R.id.bookNameLabel);

答案 1 :(得分:0)

bookRow.findViewById(R.id.bookNameLabel);

因为你正在膨胀布局,它返回布局视图,并被分配给bookRow作为参考变量。