繁体   English   中英

错误:不兼容的类型:ImageActivity 无法转换为 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM