Добрый вечер товарищи. Бьюсь с указанной проблемой. База данных с 5 столбцами. В последнем столбце данных может не быть. Надо чтобы в ListView те строки, в которых последний столбец пустой, подсвечивалась другим цветом. На данный момент вывод в ListView сделан через SimpleCursorAdapter():
from = new String[]{DB.COLUMN_NUMBER, DB.COLUMN_START_TIME, DB.COLUMN_FINISH_TIME, DB.COLUMN_SU_TIME};
int[] to = new int[]{R.id.Number_tv, R.id.StartTime_tv, R.id.FinishTime_tv, R.id.SuTime_tv};
scAdapter = new SimpleCursorAdapter(this.getActivity(), R.layout.protocol_list_item, null, from, to, 0);
Protokol_lv.setAdapter(scAdapter);
Понимаю, что надо делать свой адаптер, и там уже настраивать View по своим условиям. Вот заготовка адаптера:
import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class Ladapter extends BaseAdapter {
Cursor c;
Context context;
public Ladapter(Context context, Cursor cursor) {
c = cursor;
this.context = context;
}
@Override
public int getCount() {
return c.getCount();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View someView, ViewGroup viewGroup) {
LayoutInflater inflater = LayoutInflater.from(context);
if (someView == null) {
someView = inflater.inflate(R.layout.protocol_list_item, viewGroup, false);
}
TextView Number_tv = (TextView) someView.findViewById(R.id.Number_tv);
TextView StartTime_tv = (TextView) someView.findViewById(R.id.StartTime_tv);
TextView FinishTime_tv = (TextView) someView.findViewById(R.id.FinishTime_tv);
TextView SuTime_tv = (TextView) someView.findViewById(R.id.SuTime_tv);
return someView;
}
}
Не совсем понимаю, что делать с полученным Cursor? Каким образом перебирать строки в БД и подставлять их в строки ListView?