RecyclerView,数据定位错误

时间:2018-12-22 15:05:35

标签: java android android-layout android-recyclerview

  

制作一个可以使用recyclerview同时查看数据和图像的程序

MainActivity

 mDatabaseRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            ArrayList<Upload> mUpload  = new ArrayList<>();
            String y = "report";
            for (DataSnapshot postSnapshot : dataSnapshot.getChildren()){
                childcount = postSnapshot.child(userID).getChildrenCount() - 5;

                String z = y+childcount;

                Upload upload = postSnapshot.child(userID).child(z).getValue(Upload.class);
                Upload uploads = postSnapshot.child(userID).getValue(Upload.class);

                mUploads.add(upload);
                mUploads.add(uploads);


                mUpload.addAll(mUploads);
                Log.d(TAG, "sampleData " + mUploads);
            }
            mAdapter = new ImageAdapter(getActivity(), mUpload);
            mRecycleView.setAdapter(mAdapter);
        }

ImageAdapter

 @Override
public void onBindViewHolder(ImageViewHolder holder, int position) {

    Upload uploadCurrent = mUploads.get(position);
    holder.textViewName.setText(uploadCurrent.getiName());
    holder.textViewDate.setText(uploadCurrent.getDate());
    holder.textViewAddress.setText(uploadCurrent.getAddress());
    holder.textViewPhone.setText(uploadCurrent.getPhone());
    holder.textViewReport.setText(uploadCurrent.getReport());
    Picasso.with(mContext)
            .load(uploadCurrent.getImageUrl())
            .fit()
            .centerCrop()
            .into(holder.imageView);
    holder.setIsRecyclable(false);
    holder.getLayoutPosition();
}

上传课程

public class Upload {
private String mName;
private String mImageUrl;
private String date;
private String address;
private String phone;
private String iName;
private String report;

public Upload() {
    //empty constructor needed
}

public Upload(String name, String imageUrl) {
    if (name.trim().equals("")) {
        name = "No Name";
    }

    mName = name;
    mImageUrl = imageUrl;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

public String getPhone() {
    return phone;
}

public void setPhone(String phone) {
    this.phone = phone;
}

public String getiName() {
    return iName;
}

public void setiName(String iName) {
    this.iName = iName;
}

public String getReport() {
    return report;
}

public void setReport(String report) {
    this.report = report;
}

public String getDate() { return date; }

public void setDate(String date) { this.date = date; }

public String getName() {
    return mName;
}

public void setName(String name) {
    mName = name;
}

public String getImageUrl() {
    return mImageUrl;
}

public void setImageUrl(String imageUrl) {
    mImageUrl = imageUrl;
}

}

xml文件 enter image description here

我得到的输出 enter image description here

如您所见,我对数据的定位有误,我还尝试合并上传和上传的2个arraylist数据,但没有任何变化,有人可以帮助我完成这个项目。非常感谢

0 个答案:

没有答案