これは、ListViewAdapter から実行できます。私のプロジェクトでは、ArrayAdapter を拡張する新しいクラスを作成しました。
class SummaryListAdapter extends ArrayAdapter<DynformSummary> {
static final int mViewResourceId = R.layout.dynformlist_item;
final Context mContext;
public SummaryListAdapter(Context context, DynformSummaryList items) {
super(context, mViewResourceId, items);
mContext = context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
LayoutInflater inflater = LayoutInflater.from(mContext);
view = inflater.inflate(mViewResourceId, parent, false);
}
DynformSummary summary = getItem(position);
if (summary != null) {
TextView nameView = (TextView) view
.findViewById(R.id.dynformSummary_name);
TextView createdOnView = (TextView) view
.findViewById(R.id.dynformSummary_createdOn);
TextView itemSummaryView = (TextView) view
.findViewById(R.id.dynformSummary_itemSummary);
java.text.DateFormat df = DateFormat.getDateFormat(mContext);
String itemSummary = summary.getItemSummary();
if (itemSummary == null || itemSummary.length() == 0) {
itemSummary = mContext
.getString(R.string.placeholder_empty);
}
nameView.setText(summary.getName());
createdOnView.setText(df.format(summary.getCreatedOn()));
itemSummaryView.setText(itemSummary);
}
return view;
}
}
あなたの場合、異なるフォントまたは色ごとに個別のレイアウト xml を作成するか、実行時に getView メソッドでフォント/色を編集できます。