package org.ovirt.mobile.movirt.ui.events; import android.content.Context; import android.database.Cursor; import android.view.View; import android.widget.ImageView; import android.widget.SimpleCursorAdapter; import android.widget.TextView; import org.ovirt.mobile.movirt.R; import org.ovirt.mobile.movirt.model.Event; import org.ovirt.mobile.movirt.provider.OVirtContract; import static org.ovirt.mobile.movirt.provider.OVirtContract.Event.SEVERITY; public class EventsCursorAdapter extends SimpleCursorAdapter { public EventsCursorAdapter(Context context) { super(context, R.layout.event_list_item, null, new String[]{OVirtContract.Event.SEVERITY, OVirtContract.Event.TIME, OVirtContract.Event.DESCRIPTION}, new int[]{R.id.event_severity, R.id.event_timestamp, R.id.event_description}, 0); setViewBinder(new SimpleCursorAdapter.ViewBinder() { @Override public boolean setViewValue(View view, Cursor cursor, int columnIndex) { if (columnIndex == cursor.getColumnIndex(OVirtContract.Event.TIME)) { TextView textView = (TextView) view; String time = cursor.getString(cursor.getColumnIndex(OVirtContract.Event.TIME)); textView.setText(time); } else if (columnIndex == cursor.getColumnIndex(OVirtContract.Event.DESCRIPTION)) { TextView textView = (TextView) view; String description = cursor.getString(cursor.getColumnIndex(OVirtContract.Event.DESCRIPTION)); textView.setText(description); } else if (columnIndex == cursor.getColumnIndex(SEVERITY)) { String severity = cursor.getString(cursor.getColumnIndex(SEVERITY)); if (severity != null) { ImageView imageView = (ImageView) view; Event.Severity status = Event.Severity.valueOf(severity); imageView.setImageResource(status.getResource()); } } return true; } }); } }