'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>();
我试过了;
- 删除 bin 和 obj 并重新构建解决方案
- 关闭并重新启动 visual studio
您有命名空间问题。您要么必须尝试通过
对它们进行分类
- 删除使用指令
- 使用 static using 指令,
- 使用完全限定的名称
例子
这假定您要使用案例 class 库 View
public RecyclerViewHolder(Xamarin.Forms.VisualElement.View itemView) : base(itemView)
至于 Data
,确定它的声明位置,并确保您有一个 using 指令 用于该名称空间
其他资源
'Data' 用于另一个 .cs 文件,检查它是否在数据中 class 在库中添加此行:using FinalProjectPU.
之后。将您的文件夹名称放在您创建 Data.cs 文件的位置。
将此代码用于视图错误Android.Views.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)
和“找不到类型或名称空间名称 'Data'(您是否缺少 using 指令或程序集引用?)在此行
private List<Data> lstData = new List<Data>();
我试过了;
- 删除 bin 和 obj 并重新构建解决方案
- 关闭并重新启动 visual studio
您有命名空间问题。您要么必须尝试通过
对它们进行分类- 删除使用指令
- 使用 static using 指令,
- 使用完全限定的名称
例子
这假定您要使用案例 class 库 View
public RecyclerViewHolder(Xamarin.Forms.VisualElement.View itemView) : base(itemView)
至于 Data
,确定它的声明位置,并确保您有一个 using 指令 用于该名称空间
其他资源
'Data' 用于另一个 .cs 文件,检查它是否在数据中 class 在库中添加此行:using FinalProjectPU.
之后。将您的文件夹名称放在您创建 Data.cs 文件的位置。
将此代码用于视图错误Android.Views.View
它运行