SimpleAdapter をオーバーライドします。
class NoticelistAdapter extends SimpleAdapter
{
public NoticelistAdapter(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)
{
Map<String,Object> map= list.get(position);
int readState = (Integer) map.get("ReadState");
if (readState == 1)
{
// do something to change the color of title
}
return convertView;
}
}
そして、アダプターは次のとおりです。
adapter = new NoticelistAdapter(NoticelistActivity.this, list, R.layout.row_noticelist,
new String[] { "Title", "RealName","Date"},
new int[] { R.id.noticetitle, R.id.noticerealname,R.id.noticedate});
各マップには「readstate」と呼ばれる int パラメータがあります。readstate == 1 の場合、「タイトル」(TextView) の色を別の色に変更します。アダプターで getView(...) をオーバーライドする必要があることはわかっていますが、これを行う方法がわかりません。助けてください。前もって感謝します。