Изображение в базе данных для просмотра списка Android - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь показать в виде списка в Android некоторые изображения, которые у меня есть в базе данных, и эта часть

@Override
    public View getView (int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = context.getLayoutInflater ();
        View listViewItem = inflater.inflate (R.layout.layout, null, true);
        TextView androids = (TextView) listViewItem.findViewById (R.id.tvandroidosnames);
        // TextView textView = (TextView) listViewItem.findViewById (R.id.tvurl);
        // textView.setText (urls [position]);
        androidos.setText (androidosnames [position]);
        ImageView image = (ImageView) listViewItem.findViewById (R.id.imgvw);
        image.setImageBitmap (Bitmap.createScaledBitmap (bitmaps [position], 100, 50, false));
        return listViewItem;
    }

Это дает мне следующую ошибку:

Java.lang.NullPointerException: попытка вызвать виртуальный метод int android.graphics.Bitmap.getWidth () для нулевой ссылки на объект

1 Ответ

0 голосов
/ 14 марта 2019

import android.app.Activity;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class Customadapter extends ArrayAdapter<String> {
    private String[] androidosnames;
    //private String[] urls;
    private Bitmap[] bitmaps;
    private Activity context;
    public Customadapter(Activity context,    String[] androidosnames,  Bitmap[] bitmaps  ) {
        super(context, R.layout.activity_delivery, androidosnames);
        this.context = context;
        // this.urls = urls;
        this.bitmaps = bitmaps;
        this.androidosnames = androidosnames;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = context.getLayoutInflater();
        View listViewItem = inflater.inflate(R.layout.layout, null, true);
        TextView  androidos = (TextView) listViewItem.findViewById(R.id.tvandroidosnames);
        // TextView textView = (TextView) listViewItem.findViewById(R.id.tvurl);
        //  textView.setText(urls[position] );
        androidos.setText(androidosnames[position] );
        ImageView image = (ImageView) listViewItem.findViewById(R.id.imgvw);
        image.setImageBitmap(Bitmap.createScaledBitmap(bitmaps[position], 100, 50, false));
        return  listViewItem;
    }
}
...