2014-09-06 71 views
0

我得到這個方法setListView(),我用它來填充從SQLite數據庫數據的ListView秀才:的ListView動態定製

public void setListView(){ 
    String[] columns= {DbHelper.C_ID, DbHelper.col1, DbHelper.col2, DbHelper.col3, DbHelper.col4,DbHelper.col5}; 
    Cursor cursor = db.query(DbHelper.TABLE_NAME, columns, null, null, null, null, "_id DESC"); 


    String[] from= { DbHelper.col1, DbHelper.col2, DbHelper.col3, DbHelper.col4, DbHelper.col5}; 
    int[] to = {R.id.tvCol1, R.id.tvCol2, R.id.tvCol3, R.id.tvCol4, R.id.tvCol5}; 


    SimpleCursorAdapter adapter = new SimpleCursorAdapter (getApplicationContext(), R.layout.list_row, cursor, from, to); 

    lv.setAdapter(adapter); 

} 

有一個TextView R.id.tvCol5這是列表行的一部分( R.layout.list_row)。我想根據在SQLite數據庫列DbHelper.col5中輸入的內容動態更改R.id.tvCol5(setText,設置背景顏色等)的屬性。 例如,如果對於特定行的DbHelper.col5中的條目是字符串「RED」,我想讓該特定行中的textView R.id.tvCol5具有紅色背景並將文本設置爲「紅色」。

是否有可能做到這一點,或者是否有其他方式來實現相同的效果?

謝謝大家。最好的祝福。

回答

0

您需要在適配器中執行此操作,換句話說,您將不得不製作一個自定義適配器來擴展cursoradapter或baseadapter或類似的東西。

然後,您可以簡單地檢查字符串的值,並根據該值對其返回的視圖執行一些操作(即將背景設置爲紅色)。