Получение идентификатора базы данных в методе Onlclick - PullRequest
1 голос
/ 06 сентября 2011

У меня есть представление списка, которое заполняется из базы данных SQL. Я использую следующий onlick-код, который определяет, когда выбрана ячейка:

ListView yourList = (ListView) findViewById(android.R.id.list);

    yourList.setOnItemClickListener(new OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  long arg3) {
                        Log.e("onClick",""+arg2);                                                                  
                        }   
    });

В настоящее время этот код сообщает мне, по какой строке щелкнули. Однако я хочу захватить поле из базы данных с именем _ID. Порядок отображения элементов в представлении моего списка не совпадает с порядком их расположения в базе данных, поскольку я отсортировал их по алфавиту в коде приложения.

Может кто-нибудь помочь?

РЕДАКТИРОВАТЬ Я понимаю, что могу использовать arg3 - однако он возвращает 0 для каждой строки. Как мне исправить это?

1 Ответ

1 голос
/ 06 сентября 2011

Идентификатор включен в обратный вызов.Если вы посмотрите на документацию OnItemClickListener , сигнатура метода:

 public abstract void onItemClick (
        AdapterView<?> parent, View view, int position, long id)

Обратите внимание, что поле id в вашем примере - это arg3.Это поле '_id' из базы данных, которую вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...