1

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 が必要です。

主な問題は、データの内部がどのように「見える」かがわからないことです。

4

1 に答える 1

0

数日前に同様の質問に答えました。私のカスタム アダプターを参照してください。内部に getView メソッドがあります。

ご不明な点がございましたら、お気軽にお問い合わせください。

リンクは次のとおりです: https://stackoverflow.com/questions/12525785/how-to-use-custom-list-adapter-for-android

于 2012-09-25T12:13:15.300 に答える