问题描述
我正在为我的 Xamarin android 应用程序实现回收器视图,这是我的 recyclerviewadapter.cs 代码,但是当我在构造函数中将它作为参数传递时,它在视图中显示错误
namespace FinalProject_PU.Helper
{
class RecyclerViewHolder : RecyclerView.ViewHolder
{
public ImageView imageview { get; set; }
//
// public TextView Description { get; set; }
public RecyclerViewHolder(View itemView) : base(itemView)
{
imageview = itemView.FindViewById<ImageView>(Resource.Id.imageView1);
// Description = itemView.FindViewById<TextView>(Resource.Id.textView1);
}
}
class RecyclerViewAdapter : RecyclerView.Adapter
{
private List<Data> lstData = new List<Data>();
public RecyclerViewAdapter(List<Data> lstData)
{
this.lstData = lstData;
}
public override int ItemCount
{
get
{
return lstData.Count;
}
}
public override void OnBindViewHolder(RecyclerView.ViewHolder holder,int position)
{
RecyclerViewHolder viewHolder = holder as RecyclerViewHolder;
viewHolder.imageview.SetimageResource(lstData[position].imageid);
//viewHolder.Description.Text = lstData[position].description;
}
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent,int viewType)
{
LayoutInflater inflater = LayoutInflater.From(parent.Context);
View itemView = inflater.Inflate(Resource.Layout.items,parent,false);
return new RecyclerViewHolder(itemView);
}
}
}
这里给了我2个错误: 'View' 是一个命名空间,但在这一行中用作类型
public RecyclerViewHolder(View itemView) : base(itemView)
和“在这一行找不到类型或命名空间名称‘数据’(您缺少 using 指令或程序集引用?)
private List<Data> lstData = new List<Data>();
我试过了;
解决方法
将此代码用于它运行的查看错误Android.Views.View
您有命名空间问题。您要么必须尝试通过
- 删除 using 指令
- 使用静态 using 指令,
- 使用完全限定名称
示例
这里假设您要使用案例类库 View
public RecyclerViewHolder(Xamarin.Forms.VisualElement.View itemView) : base(itemView)
至于 Data
,确定它声明的位置,并确保你有一个用于该命名空间的 using 指令
其他资源
using directive (C# Reference)
using static directive (C# Reference)
,'Data' 用于另一个 .cs 文件,检查它是否在 Data 类中,然后在库中添加这一行:tried to handle unknown method hello
after 。将您的文件夹名称放在您制作 Data.cs 文件的位置。