2015-11-26 3 views
0

Я пытаюсь получить путь изображения из базы данных mysql, используя php и отображая изображение в gridview.Извлечение изображений из базы данных mysql с использованием php и отображение в gridview в android

Моя проблема в том, что я получаю NPE (NullPointerException) в адаптере при настройке изображений.

Вот мой GridViewAdapter:

public class GridViewAdapter extends BaseAdapter { 

    private Context context; 
    public ArrayList<HashMap<String,String>> mThumbIds = new ArrayList<HashMap<String, String>>(); 
    AQuery aQuery; 
    private LayoutInflater mInflater; 

    public GridViewAdapter(Context context,ArrayList<HashMap<String,String>> data) { 
     this.context= context; 
     this.mThumbIds = data; 
     this.aQuery = new AQuery(context); 
    } 

    @Override 
    public int getCount() { 
     return mThumbIds.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     return 0; 
    } 


    @Override 
    public long getItemId(int position) { 
     return 0; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     final ViewHolder holder; 
     if (convertView == null) { 
      convertView = mInflater.inflate(R.layout.photo_gallery_list_item, null); 
      holder = new ViewHolder(); 
      holder.imageView = (ImageView) convertView.findViewById(R.id.imageView); 
      convertView.setTag(holder); 
     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 
     aQuery.id(holder.imageView).image(mThumbIds.get(position).get("flag"), true, true); 
     return convertView; 
    } 

    class ViewHolder { 

     ImageView imageView; 

    } 
} 

Линия, что уволить NPE является следующее:

convertView = mInflater.inflate(R.layout.photo_gallery_list_item, null); 

Можно ли предположить, где я ошибаюсь?

ответ

0
Please initialize your mInflater like below. 
mInflater = LayoutInflater.from(context); 
+0

спасибо. оно работает. –

+0

добро пожаловать. то примите ответ :) –

0

mInflater есть null. Вы никогда не назначали его.

Либо пройти один в или получить его похожим на это в GridViewAdapter

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
+0

ой .. я пропустил его. теперь после инициализации он работает. –

+0

вы можете предложить, как скользить каждое изображение onclick, как наша галерея.? –

0

только потому что вы не было `инициализации вашего mInflater;

Добавьте эту строку в свой конструктор;

mInflater = LayoutInflater.from(context); 
+0

он работает спасибо. –

Смежные вопросы