'View' 是一个命名空间,但像类型一样使用

'View' is a namespace but is used like a type

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

和“找不到类型或名称空间名称 'Data'(您是否缺少 using 指令或程序集引用?)在此行

 private List<Data> lstData = new List<Data>();

我试过了;

  1. 删除 bin 和 obj 并重新构建解决方案
  2. 关闭并重新启动 visual studio

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

对它们进行分类
  1. 删除使用指令
  2. 使用 static using 指令,
  3. 使用完全限定的名称

例子

这假定您要使用案例 class 库 View

public RecyclerViewHolder(Xamarin.Forms.VisualElement.View itemView) : base(itemView)

至于 Data,确定它的声明位置,并确保您有一个 using 指令 用于该名称空间


其他资源

using directive (C# Reference)

using static directive (C# Reference)

'Data' 用于另一个 .cs 文件,检查它是否在数据中 class 在库中添加此行:using FinalProjectPU. 之后。将您的文件夹名称放在您创建 Data.cs 文件的位置。

将此代码用于视图错误Android.Views.View它运行