Нужен адаптер для данных из БД

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
goodi
Сообщения: 4
Зарегистрирован: 15 апр 2016, 09:55

Нужен адаптер для данных из БД

Сообщение goodi » 13 май 2016, 17:04

Untitled-1.jpg
Untitled-1.jpg (45.58 КБ) 2435 просмотров
картинка, текст и чекбокс. всё из БД. Надо писать свой адаптер.
Не могу разобраться в каком методе что реализовывать.

Код: Выделить всё

public class MyListAdapter extends SimpleCursorAdapter {
    private LayoutInflater layoutInflater;
    Context context;

    public MyListAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags) {
        super(context, layout, c, from, to, flags);
        this.context = context;
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {
        TextView tvName = (TextView)view.findViewById(R.id.name);
        CheckBox checkBox = (CheckBox)view.findViewById(R.id.checkBox);
        ImageView imageView = (ImageView) view.findViewById(R.id.imageView);

        tvName.setText(cursor.getString(1));
        checkBox.setChecked((cursor.getInt(2) == 0 ? false:true));
        if (checkBox.isChecked()) {
            imageView.setImageResource(R.drawable.avatar);
        } else imageView.setImageResource(R.drawable.no_avatar);
    }

    @Override
    public Object getItem(int position) {
        return position;
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) convertView = layoutInflater.from(context).inflate(R.layout.list_item, null);
        CheckBox checkBox = (CheckBox) convertView.findViewById(R.id.checkBox);
        //TextView tvName = (TextView)convertView.findViewById(R.id.name);
        ImageView imageView = (ImageView) convertView.findViewById(R.id.imageView);
        if (checkBox.isChecked()) {
            imageView.setImageResource(R.drawable.avatar);
        } else imageView.setImageResource(R.drawable.no_avatar);

        return convertView;
    }

    @Override
    public void notifyDataSetChanged() {
        super.notifyDataSetChanged();
    }
}
текст не отображается.
при включении чекбокс должен появиться аватар.
не получается (((

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Нужен адаптер для данных из БД

Сообщение Foenix » 13 май 2016, 17:21

отмечая чекбокс (обрабатывая это событие), нужно менять ДАННЫЕ, а не просто смотреть на экран что получится.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

goodi
Сообщения: 4
Зарегистрирован: 15 апр 2016, 09:55

Re: Нужен адаптер для данных из БД

Сообщение goodi » 13 май 2016, 18:10

Foenix писал(а):отмечая чекбокс (обрабатывая это событие), нужно менять ДАННЫЕ, а не просто смотреть на экран что получится.
какие именно действия я должен сделать?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Нужен адаптер для данных из БД

Сообщение Foenix » 13 май 2016, 18:42

Все это есть в уроках
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Ответить