Получить позицию от SimpleCursorAdapter

Есть ли способ сделать это? Моя конкретная цель состоит в том, что я пытаюсь заполнить метку из текста редактирования в моем списке, который заполняется простым курсором. Когда я собираю информацию из курсора, я получаю только значение из самого последнего элемента в списке.

Пример:

        lbs = (TextView)view.findViewById(R.id.GrainLbs);
    lbs.setOnTouchListener(new OnTouchListener(){

        @Override
        public boolean onTouch(View v, MotionEvent arg1) {
            if(!popState){
                parentActivity.showPopup(v, mView, getId, String.valueOf(getLbs));
                Log.i("Current ID", "");
            }
            setPopState();
            return true;
        }   
    });

Я пытаюсь передать значение из базы данных методу в своей деятельности из моего пользовательского simplecursoradapter (String.valueOf(getLbs)), который, поскольку я собираю эту информацию, щелкая объект в списке, я думал, что это будет автоматически использовать данные из определенного элемента списка. Есть ли способ получить позицию элемента списка, а затем использовать информацию из базы данных на основе позиции?


person ryandlf    schedule 21.08.2011    source источник


Ответы (2)


Если вы расширяете ListActivity, вы можете переопределить ListActivity.onListItemClick. Второй аргумент, передаваемый этой функции, — это позиция в списке, которая совпадает с позицией в вашем SimpleCursorAdapter.

person Eric Levine    schedule 21.08.2011
comment
Я не расширяю ListActivity. Мне нужно расширить активность, так что, к сожалению, это не вариант. Есть ли другой способ? - person ryandlf; 21.08.2011
comment
Почему вы не можете расширить ListActivity вместо Activity? - person Eric Levine; 21.08.2011
comment
Потому что мне нужно переопределить onCreate, onPause, onDestroy и т. д. Список находится в моем основном представлении. - person ryandlf; 22.08.2011
comment
Это именно то, что дает вам ListActivity. ListActivity расширяет Activity, поэтому вы наследуете все те же методы. Взгляните на JavaDoc: developer.android.com/reference/android/app /ListActivity.html - person Eric Levine; 22.08.2011
comment
Я нашел более простое решение без расширения ListActivity, но это полезно знать в следующий раз, когда оно мне понадобится. Элевина спасибо. - person ryandlf; 22.08.2011

Это оказалось таким простым ответом, и я не могу поверить, что потратил так много времени, пытаясь понять это. Поскольку я собирал значение внутри метода (onclicklistener), мне нужно было сделать мою переменную final, она была объявлена ​​в начале класса, чтобы ее можно было использовать повсюду, и из-за этого я не получал исключения, но мне нужно было сделать его окончательным, прежде чем он по какой-либо причине передаст правильное значение.

Поэтому я предполагаю, что если вы привяжете свои представления в customcursoradapter, вы можете собирать значения для каждого отдельного элемента списка, не зная позиции, он автоматически узнает это для вас.

person ryandlf    schedule 22.08.2011