0

I am trying to show in a listview in android some images that I have in a database and this part

@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;
    }

It gives me the following error:

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth ()' on a null object reference

Dharman
  • 30,962
  • 25
  • 85
  • 135
  • Possible duplicate of [What is a NullPointerException, and how do I fix it?](https://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it) – handras Mar 13 '19 at 18:25
  • 2
    Can you show us the code for this entire adapter? – remedy. Mar 13 '19 at 18:40

1 Answers1

0

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;
    }
}