2014-02-18 65 views
1

當檢索圖像時,我將顯示另一個檢索圖像(Blob)的問題,如果將圖像從數據庫記錄更改爲另一個圖像,則以前的圖像將會現金不會變成新的形象..! Datbase表:當從SQLite數據庫檢索到時,Android Image不會改變

@Override 
public void onCreate(SQLiteDatabase db) { 

    String sql = "CREATE TABLE IF NOT EXISTS student(" + 
        "Sid INTEGER PRIMARY KEY AUTOINCREMENT, " + 
        "firstName TEXT, " + 
        "lastName TEXT, " + 
        "photo BLOB, " + 
        "book TEXT)"; 
    db.execSQL(sql); 
    } 

手動插入一些數據

ContentValues values = new ContentValues(); 
    values.put("firstName", "Roza"); 
    values.put("lastName", "Jack"); 
      // profile picture of sudent 
    values.put("photo", convertimg(R.drawable.sudent_1)); 
    values.put("book", "Andriod programming"); 
    db.insert("student", "book", values); 

轉換方法的圖像爲BLOB

public static byte[] convertimg(int drawimg) 
{ 
      Bitmap bitmap = BitmapFactory.decodeResource(myresurse, drawimg); 
      ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
      bitmap.compress(CompressFormat.JPEG, 100 , bos); 
      byte[] bitmapdata = bos.toByteArray(); 

    return bitmapdata; 

} 

和檢索圖像和設置爲ImageView的。

db = (new DatabaseHelper(this)).getWritableDatabase(); 

    Cursor cur=db.rawQuery("select firstname || ' ' || lastname as fullname,book,photo from student where Sid=1" , null); 

    cur.moveToNext(); 


       ImageView imgprofile = (ImageView) findViewById(R.id.studentphoto); 

       byte[] mybyte=cur.getBlob(cur.getColumnIndex("photo")); 


     ByteArrayInputStream imageStream = new ByteArrayInputStream(mybyte); 

     Bitmap theImage = BitmapFactory.decodeStream(imageStream); 

     imgprofile.setImageBitmap(theImage); 

       imgprofile.invalidate(); 

我的大問題是在這裏,如果我想以前的圖像

values.put("photo", convertimg(R.drawable.sudent_1)); 

改變這樣的第二圖像的圖像不顯示,而不是第一個圖像

values.put("photo", convertimg(R.drawable.sudent_2)); 

回答

1

嘗試調用imgprofile.invalidate();後設置爲imgprofile.setImageBitmap(theImage);。這將基本上重新繪製ImageView。

+0

謝謝,但直到我有問題,我用imgprofile.invalidate(); – Gulan

+0

我沒有得到你所說的?你有沒有使用invalidate()方法? – Rakhita

+0

你對我的問題或什麼意思? – Gulan

相關問題