Android: ошибка исключения Nullpointer в действии

#android #nullpointerexception

#Android #исключение nullpointerexception

Вопрос:

У меня есть этот метод getView внутри моего ListViewAdapter:

 public static class ViewHolder{
        public TextView textTitle;
        public ImageView image;
    }

  public View getView(int position, View convertView, ViewGroup parent)
    {
        Project pro = getItem(position);

        View vi=convertView;
        ViewHolder holder;
        if(convertView==null){
            vi = inflater.inflate(R.layout.listitems, null);
            holder=new ViewHolder();
            holder.textTitle=(TextView)vi.findViewById(R.id.txt_title);;
            holder.image=(ImageView)vi.findViewById(R.id.image);
            vi.setTag(holder);
        }
        else
        holder=(ViewHolder)vi.getTag();
        holder.textTitle.setText(pro.project_title);
        holder.image.setTag(pro);
        imageLoader.DisplayImage(pro.smallImageUrl, activity, holder.image);
        return vi;

    }
  

поскольку это для listview, в нем отображаются как изображения, так и текст.
С другой стороны, у меня есть activity, в котором я хочу применить imageLoader.DisplayImage метод только для отображения изображений.

Основываясь на адаптере ListView, я создал это внутри activity:

 imageLazy(image1, Main.this, prjcts.get(randomIndex1));

public void imageLazy(final ImageView image, Activity activity, Project pro)
    {
    imageLoaderx.DisplayImage(pro.smallImageUrl, activity, image);
    }
  

Но затем мое приложение разбилось. Logcat сообщает об ошибке исключения Nullpointer и ошибке с моим методом imageLazy.

Кто-нибудь может помочь мне решить мою проблему? Чтобы мой метод мог отображать изображения без ошибок? Большое вам спасибо

Комментарии:

1. Внимательно посмотрите на трассировку стека исключений. В вашем коде должен быть номер строки, в которой произошло исключение. Отладьте эту часть кода и найдите значение null и подумайте, почему.

2. Я знаю, вот ошибка: imageLoaderx.DisplayImage (pro.smallImageUrl, activity, image), но я не могу ее решить

3. просто начните отладку, перейдите к строке и выясните, какая переменная в этой строке равна null или какой метод возвращает null, а затем выясните, почему. Это основы, которые следует выполнить при получении исключения с нулевым указателем

Ответ №1:

imageLoaderX не был инициализирован и имеет значение null. Вы можете исправить это, создав новый объект или получив ненулевую ссылку в другом месте.

Комментарии:

1. о, это я уже инициализировал как глобальную переменную: public ImageLoader imageLoaderx; это должно быть правильно, верно?

2. Однако вам действительно нужно его установить. Либо imageLoaderx = new ImageLoader(), либо imageLoaderx = someotherimageloderreference;

3. Я установил это следующим образом: ImageLoader imageLoaderx = новый ImageLoader (Main.this); все еще выдает мне ошибку: (

4. может быть, pro имеет значение null при передаче в этот метод?