'View' 是一个命名空间,但它像一个类型

问题描述

我正在为我的 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>();

我试过了;

  1. 删除 bin 和 obj 并重新构建解决方
  2. 关闭并重新启动视觉工作室

解决方法

将此代码用于它运行的查看错误Android.Views.View

,

您有命名空间问题。您要么必须尝试通过

  1. 删除 using 指令
  2. 使用静态 using 指令
  3. 使用完全限定名称

示例

这里假设您要使用案例类库 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 文件的位置。