调用setadapter()方法时的nullpointerexception

时间:2014-04-18 01:54:35

标签: android

大家好,我目前正面临着适配器的问题,它给了我空指针异常,虽然它之前有效。

以下是代码和其中使用的方法的代码。

try{
    offre = new OffreBDD(ListeOffre.this);
    offre.open();// c est pour autoriser l acces de lire de la base
    // get all produits
    list = (ArrayList<Offre>) offre.getAllOffres();

    Log.i("testarray", list.size()+"");
    myAdapter = new AdapterOffre(ListeOffre.this, list);
    listview.setAdapter(myAdapter);

    offre.close();
    }catch (Exception e){
        e.printStackTrace();
    }

public ArrayList<Offre> getAllOffres() {

    ArrayList<Offre> offres = new ArrayList<Offre>();

    // 1. build the query
    String query = "SELECT  * FROM offre ";

    // 2. get reference to writable DB

    Cursor cursor = bdd.rawQuery(query, null);

    // 3. go over each row, build book and add it to list
    Offre offre = null;
    try{
    if (cursor.moveToFirst()) {
        do {
            offre = new Offre();
            offre.setCodeOffre(Integer.parseInt(cursor.getString(0)));
            offre.setNomOffre(cursor.getString(2));
            offre.setCodeUser(Integer.parseInt(cursor.getString(1)));
            offre.setDateDebut(cursor.getString(3));
            offre.setDateFin(cursor.getString(4));
            offre.setDescription(cursor.getString(5));

            // Add book to books
            offres.add(offre);
        } while (cursor.moveToNext());
    }
    }catch(Exception e){

    }
    Log.d("getAllOffres()", offres.toString());

    // return books
    return offres;

}

我已经检查了用于适配器的arraylist它似乎正常工作并且不是null

以下是适配器代码:

@Override
public View getView(int position, View ConvertView, ViewGroup parent) {
    ViewHolder holder;

    if (ConvertView == null) {
        ConvertView = myinflater.inflate(
                com.example.applicationpfe.R.layout.listitem, null);
        holder = new ViewHolder();
        holder.nom = (TextView) ConvertView.findViewById(R.id.nom);

        // Pour assurer l'unicité
        ConvertView.setTag(holder);
    } else {
        holder = (ViewHolder) ConvertView.getTag();
    }
    holder.nom.setText(producteur.get(position).getNomOffre());

    return ConvertView;

}

0 个答案:

没有答案