2017-04-25 58 views
0

我的問題是當我運行代碼的應用程序跳出應用程序。我正在使用SQLite數據庫使用Recycler視圖我有兩個視圖控件1是Textview,另一個是圖像view.An應用上的TextView運行,但是當我使用圖片視圖那麼Android Studio中有錯誤:「顯示java.lang.NullPointerException:嘗試獲取空數組的長度」顯示錯誤,以獲得空數組錯誤的圖像視圖

Thanx提前。 這裏是我的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; 

這裏是我的Recycler_List_Item_Pojo2.java

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

這裏是我的SQLite數據庫代碼

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; 

這裏是我的錯誤

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

可能重複[什麼是NullPointerException,以及如何解決它?](http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-doi-i-fix -it) –

回答

1

@Prashant請檢查您的SQLITE數據庫。如果插入了任何NULL值或檢查任何字段是否爲空。請從數據庫中刪除您的空字段。

+0

謝謝......我刪除了我的空字段。現在代碼正在工作.... –