我在RecyclerView
中使用Resources.System.GetString(Resource.String.no_of_bags)
。此类不包含上下文/活动的引用。我遇到运行时异常。
就像@Digitalsa1nt说的,你需要将Context
传递给你的适配器。
这是关于RecyclerView
用法的官方演示,但在创建PhotoAlbumAdapter
实例时并没有提到Context
。
你可以这样做:
1( 在PhotoAlbumAdapter
类中添加Context
public class PhotoAlbumAdapter : RecyclerView.Adapter
{
Context mContext;
PhotoAlbum mPhotoAlbum;
public PhotoAlbumAdapter(Context context, PhotoAlbum photoAlbum)
{
this.mContext = context;
this.mPhotoAlbum = photoAlbum;
}
...
}
2( 传递this
(这是 MainActivity 的实例(到 PhotoAlbumAdapter
mAdapter = new PhotoAlbumAdapter(this,mphotoAlbum);
3( 在OnBindViewHolder
方法中使用mContext
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
mContext.Resources.GetString(Resource.String.no_of_bags);
}