[英]error: incompatible types: NewSubscription cannot be converted to Context
[英]error: incompatible types: ImageActivity cannot be converted to Context
我的代码收到此不兼容的类型错误。 错误显示在 ImageActivity 类中。
错误是: imageAdapter = new ImageAdapter(ImageActivity.this, uploads);
它说ImageActivity.this
无法转换为 Context 类型,我不知道为什么。
我做了一些研究,发现我可以使用getActivity()
而不是ImageActivity.this
我试过了,但也没有用。
我附上下面的代码文件,请帮助,谢谢。
图像活动代码:
public class ImageActivity extends AppCompatActivity implements ImageAdapter.OnItemClickListner {
private RecyclerView recyclerView;
private ImageAdapter imageAdapter;
private DatabaseReference dataBaseRef;
private FirebaseStorage storage;
private ValueEventListener DBListener;
private List<Upload> uploads;
private ProgressBar progressCircle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.image_activity);
progressCircle.findViewById(R.id.progressbar_circle);
recyclerView.findViewById(R.id.recycler);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
uploads = new ArrayList<>();
imageAdapter = new ImageAdapter(ImageActivity.this, uploads);
recyclerView.setAdapter(imageAdapter);
imageAdapter.setOnItemClickListener(ImageActivity.this);
图像适配器代码:
public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder> {
private Context context;
private List<Upload> uploadList;
private OnItemClickListner listner;
public ImageAdapter(Context context, List<Upload> uploadList) {
this.context = context;
this.uploadList = uploadList;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.images, parent, false );
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Upload uploadCurrent = uploadList.get(position);
Picasso.get().load(uploadCurrent.getImageUrl()).placeholder(R.mipmap.ic_launcher)
.fit().centerInside().into(holder.imageView);
}
@Override
public int getItemCount() {
return uploadList.size();
}
}
据我所知,您不需要使用getActivity()
或ImageActivity.this
,如果您想获取活动的上下文,请使用this
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.