我有一個ListView
其具有ArrayAdapter
從 一個字符串數組獲取信息。我試圖使用一個自定義適配器類,在那裏我必須重寫getView()
方法,其中我還使用ViewHolder
模式來實現我正在嘗試完成的模式。然而,這是一場噩夢,因爲許多觀點重複了自己,或根本沒有展示,而且所有的行都是混亂的。列表視圖的定製
我現在用它的適配器實現ListView
的時間要短得多。 但是,我想完成的是ListView
的一些行將顯示紅色文本和其他白色文本。將以紅色顯示的文本具有子字符串「R2」。請記住,此文本存儲在適配器也具有句柄的字符串數組中。那麼,這是我的代碼,但仍然無法顯示在ListView
內部具有紅色子字符串「R2」的文本。
ArrayAdapter<String> adapter new ArrayAdapter<String>(context,
android.R.layout.simple_list_item_1,main_instructions);
listview.setAdapter(adapter);
for(int k = 0 ; k < list_layout.getChildCount(); k++){
String s = main_instrutions[k];
if(s.contains("R2")){
TextView v = (TextView) listview.getChildAt(k);
s = s.replaceAll("R2","");
v.setTypeface(Typeface.DEFAULT_BOLD);
v.setTextColor(Color.RED);
v.setText(s);
adapter.notifyDataSetChanged();
listview.invalidate();
}
我想我有個好主意,但我無法改變這些特定的行 紅色文本。如果任何人有建議,會很好。
感謝
嘗試在適配器中執行此操作 – Athul
post ur adapter – Athul
您正在調用adapter.notifyDataSetChanged();在改變視圖顏色後,你應該在Adapter類中做到這一點。 – Abhijeet