Создание кнопки разделения для настраиваемого адаптера ListView - PullRequest
1 голос
/ 03 июля 2010

Я хотел бы создать адаптер списка, который форматирует представления следующим образом:

List Entry

Я хочу иметь возможность запуска другого клика, когда пользователь щелкает изображение.Я определил onClick на самом изображении в переопределении getView (), но как мне получить позицию строки, по которой щелкнули, чтобы я мог обновить запись в базе данных, чтобы записать действие?

1 Ответ

3 голосов
/ 03 июля 2010

Во-первых, вам нужен ListView, который представляет адаптер. Если вы уже храните это где-то, отлично; если нет, вы можете взять View, который передается onClick (), и вызвать его метод getParent () дважды (или более, если изображение вложено глубже в представление выбранного элемента), чтобы получить ListView.

Оттуда вызовите ListView.getPositionForView () для представления, переданного в onClick (). Это даст вам целое число, представляющее позицию нажатого элемента в адаптере списка. Оттуда вы можете делать с ней все, что захотите.

Например:

public void onClick(View v){
    ListView lv = (ListView)(v.getParent().getParent()); // you may need more getParent()s and/or extra casting
    int position = lv.getPositionForView(v);
    /* Do whatever database stuff
     * You want to do
    */
}
...