6

我正在尝试为我的类别列表创建一个自定义适配器。出于某种原因,当我尝试为它充气时,我无法访问我的 category_item 布局。这是我的代码:

public class CategoryAdapter extends ArrayAdapter<Category> {

    LayoutInflater mInflater;
    List<Category> list;

public CategoryAdapter(Context context, int resource, int textViewResourceId, List<Category> objects) {
    super(context, resource, textViewResourceId, objects);

    mInflater = LayoutInflater.from(context);
    list = objects;
}

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

    final ViewHolder holder;

    if(convertView==null){

        convertView=mInflater.inflate(***resource***, null);
        holder = new ViewHolder();

    }

    return convertView;
}

// Declaring new class ViewHolder
class ViewHolder{
    TextView category_name;
}

它说resource我应该能够访问我的 category_item.xml 布局 - R.layout.category_item。但由于某种原因,我没有在列表中看到它,我无法访问它。事实上,我在列表中看不到我的任何布局。

为什么会发生,如何解决?

4

4 回答 4

17

导入您的packagename.R文件,它将工作。您可能导入了android.R. 由于您的资源存在于您的应用程序包中,只需更正它即可。

android.R 指的是sdk资源。

于 2013-03-15T12:23:31.663 回答
4

有可能你导入了android资源包android.R

确保你导入了你的包资源com.yourpackagename.R。这应该可以解决您的问题。

于 2013-03-15T12:18:40.237 回答
2

检查您的代码,我认为您已在代码中导入android.R。去掉它。

于 2013-03-15T12:19:58.320 回答
1

Project -> Clean 这将重新生成该 R 文件,这也应该可以工作。

于 2013-10-17T15:28:41.833 回答