Мой настраиваемый адаптер списка не отображается в строках моего списка - PullRequest
0 голосов
/ 10 ноября 2019

Попытка загрузить изображение онлайн и сохранить его в базе данных SQL. Мне удалось успешно реализовать часть кода для загрузки, но у меня возникают проблемы с просмотром всех загруженных изображений. Мой пользовательский адаптер (rowentry.xml) не отображается в активности с моим списком просмотра (Activity_view.xml). Я довольно новичок в этом, поэтому любая помощь приветствуется! Когда я нажимаю на View, он просто показывает пустой экран. Я ожидаю, что он покажет детали изображения, включая само изображение

viewActivity.java

public class viewActivity extends AppCompatActivity {
private ListView listView;
databaseHelper dbHelper;
ArrayList<ImageObject> imageInfo = new ArrayList<>();
ImageObject io;

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_view);

    listView = (ListView) findViewById(R.id.listView_images);
    dbHelper = new databaseHelper(this);

    fillListView();
}

private void fillListView(){
    Cursor data = dbHelper.getAll();

    while(data.moveToNext()){
        String id = data.getString(0);
        String title = data.getString(1);
        byte[] photo = data.getBlob(2);
        String url = data.getString(3);

        io = new ImageObject(id, title, photo, url);
        imageInfo.add(io);
    }

    ListvAdapter listAdapter = new ListvAdapter(this, R.layout.rowentry, imageInfo);
    listView.setAdapter(listAdapter);
}

ListvAdapter.java

public class ListvAdapter extends ArrayAdapter<ImageObject> {
private Context mContext;
int mResource;

public ListvAdapter(Context context, int resource, ArrayList<ImageObject> images){
    super(context,resource,images);
    mContext = context;
    mResource = resource;
}

@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    String id = getItem(position).getid();
    byte[] image = getItem(position).getPhoto();
    String title = getItem(position).getTitle();
    String url = getItem(position).getUrl();

    ImageObject imageObject = new ImageObject(id, title, image, url);

    LayoutInflater inflater = LayoutInflater.from(mContext);
    convertView = inflater.inflate(mResource,parent,false);

    TextView imageID = (TextView) convertView.findViewById(R.id.row_imageID);
    ImageView imageImg = (ImageView) convertView.findViewById(R.id.row_image);
    TextView imageTitle = (TextView) convertView.findViewById(R.id.row_imagetitle);


    Bitmap bm = BitmapFactory.decodeByteArray(image, 0, image.length);

    imageID.setText(id);
    imageImg.setImageBitmap(bm);
    imageTitle.setText(title);

    return convertView;
}
...