SimpleAdapter で ListView を実行しています。渡されたデータに基づいて textcolour を設定しようとしています。
主な活動で:
ArrayList<HashMap<String, Object>> data=new ArrayList<HashMap<String,Object>>();
for(int i=0;i<Db.risposteDate.size();i++){
Esame e = Db.risposteDate.get(i);
HashMap<String,Object> EsamiMap=new HashMap<String, Object>();
EsamiMap.put("num", e.getDomandaNum());
EsamiMap.put("testo", Html.fromHtml(e.getTesto()+"<br />"));
EsamiMap.put("ris", e.getRispostaData());
data.add(EsamiMap);
}
String[] from={"num","testo","ris"}; //dai valori contenuti in queste chiavi
int[] to={R.id.tv1,R.id.tv2,R.id.tv3};//agli id delle view
//costruzione dell adapter
customAdapter adapter=new customAdapter(
getApplicationContext(),
data,
R.layout.riga_lista,
from,
to);
((ListView)findViewById(R.id.tabellaRisultati)).setAdapter(adapter);
私はcustomAdapterを作成しました:
class customAdapter extends SimpleAdapter {
public customAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
return view;
}
}
しかし、getView() がどのように機能するのかわかりません... データ内の値を読み取り、正しい場合は textcolour RED が必要です。
主な問題は、データの内部がどのように「見える」かがわからないことです。