Создание пользовательского простого адаптера курсора

Я хочу создать очень простой настраиваемый адаптер курсора для облегчения изменения цвета элементов строки при щелчке. Используя следующий код

private static int save = -1;

public void onListItemClick(ListView parent, View v, int position, long id) { 

    parent.getChildAt(position).setBackgroundColor(Color.BLUE);

    if (save != -1 && save != position){
        parent.getChildAt(save).setBackgroundColor(Color.BLACK);
    }

    save = position;                

}

, я получил код из этой темы https://stackoverflow.com/a/7649880/498449

Я бы использовал простой адаптер курсора и поместил код в onClick, но поскольку список по умолчанию в ListFragment повторно использует представления, при прокрутке несколько представлений будут выделены. В разговоре по IRC мне предложили создать собственный адаптер курсора. Тем не менее, я не могу найти наилучшую практику, как это сделать, и куда бы вписался приведенный выше фрагмент кода. Буду очень признателен за помощь.

public class AreaCursorAdapter extends CursorAdapter {
    private Context context;


    public AreaCursorAdapter(Context context, Cursor c) {
        super(context, c);
        // TODO Auto-generated constructor stub
    }

    @Override
public void bindView(View view, Context context, Cursor cursor) {
    TextView list_item = (TextView)view.findViewById(android.R.id.text1);
    list_item.setText(cursor.getString(cursor.getColumnIndex(INDICATOR_NAME)));

}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
    LayoutInflater inflater = LayoutInflater.from(context);
    View v = inflater.inflate(android.R.layout.simple_list_item_1, parent, false);
    bindView(v, context, cursor);
    return v;
}

}

Я обновил адаптер курсора кодом, который нашел в Интернете. Однако у меня есть две проблемы. 1. Я использую загрузчик курсора, поэтому у меня нет объекта "курсор" для передачи в конструктор. 2. Я получаю предупреждение от Eclipse о том, что конструктор устарел.

5
задан Community 23 May 2017 в 11:56
поделиться