2017-04-25 1 views
0

mein Problem ist, wenn ich den Code die App springt die Anwendung.Ich benutze SQLITE-Datenbank mit Recycler View Ich habe zwei Ansicht Steuerelement 1 ist Textview und ein anderes ist Image view.An Anwendung auf Textview läuft, aber wenn ich Bildansicht dann mit dem Android Studio hat den Fehler: „java.lang.NullPointerException: Versuch zu Länge von null Array zu erhalten“zeigt Fehler, um Länge des Null-Array-Fehler für Bildansicht zu bekommen

Danke im Voraus. hier ist mein Recycler_List_Item_Adapter2.java

@Override 
public void onBindViewHolder(MyViewHolder_item holder, int position) { 
    Recycler_List_Item_Pojo2 recycler_title_pojo=arrayList.get(position); 
    holder.outImage=recycler_title_pojo.getImg(); 
    ByteArrayInputStream imageStream = new ByteArrayInputStream(holder.outImage); 
    Bitmap theImage = BitmapFactory.decodeStream(imageStream); 
    holder.imageView.setImageBitmap(theImage); 
    holder.textView.setText(recycler_title_pojo.getBr_title()); 
} 


@Override 
public int getItemCount() { 
    return arrayList.size(); 
} 

public class MyViewHolder_item extends RecyclerView.ViewHolder { 
    TextView textView; 
    CircleImageView imageView; 
    byte[] outImage; 

hier mein Recycler_List_Item_Pojo2.java ist

public class Recycler_List_Item_Pojo2 { 
byte[] img=null; 
String br_title,bt_material,br_procedure,br_notice; 

public Recycler_List_Item_Pojo2(byte[] img, String br_title) { 
    this.img = img; 
    this.br_title = br_title; 
} 

public byte[] getImg() { 
    return img; 
} 

public void setImg(byte[] img) { 
    this.img = img; 
} 

public String getBr_title() { 
    return br_title; 
} 

public void setBr_title(String br_title) { 
    this.br_title = br_title; 
} 

Hier ist meine SQLite-Datenbank-Code

Recycler_List_Item_Pojo2 product = null; 
    List<Recycler_List_Item_Pojo2> productList = new ArrayList<Recycler_List_Item_Pojo2>(); 
    openDatabase(); 
    Cursor cursor = mDatabase.rawQuery(" select * from a", null, null); 
    cursor.moveToFirst(); 
    while (!cursor.isAfterLast()) { 

     product = new Recycler_List_Item_Pojo2(cursor.getBlob(1),cursor.getString(2)); 
     productList.add(product); 
     cursor.moveToNext(); 
    } 
    cursor.close(); 
    closeDatabase(); 
    return productList; 

Hier ist mein Fehler

FATAL EXCEPTION: main 
                  Process: com.pp.receipe, PID: 21550 
                  java.lang.NullPointerException: Attempt to get length of null array 
                   at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:60) 
                   at com.pp.receipe.adapter.Recycler_List_Item_Adapter2.onBindViewHolder(Recycler_List_Item_Adapter2.java:50) 
                   at com.pp.receipe.adapter.Recycler_List_Item_Adapter2.onBindViewHolder(Recycler_List_Item_Adapter2.java:30) 
+0

Mögliche Duplikate von [Was ist eine NullPointerException, und wie behebe ich es?] (Http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix -it) –

Antwort

1

@Prashant Bitte überprüfen Sie Ihre SQLITE-Datenbank. Wenn ein NULL-Wert eingefügt oder überprüfen Sie ein Feld ist leer oder nicht. Entfernen Sie Ihr leeres Feld aus der Datenbank.

+0

Danke ... Ich habe mein leeres Feld entfernt. Jetzt funktioniert der Code .... –

Verwandte Themen