У меня есть активность, отображающая журналы вызовов в ListView. Адаптер, используемый здесь для заполнения списка, расширяет CursorAdapter. Для Listview установлено значение onItemClickListener (..). Мой вопрос: всякий раз, когда на элемент нажимают, как курсор получает данные? как курсор узнает, какая позиция нажата, и нужно получать данные только по нажатой позиции? Я предоставил фрагмент кода.
public class CallLog extends Activity
{
ListView mListView;
Cursor cursor;
//other variables
public void OnCreate()
{
setContentView(R.layout.calllog);
//SQLiteDatabaseInstance db
cursor = db.query(...parameters to get all call logs...);
mListView.setOnItemClickListener(this);
}
public void OnItemClick( // all arguments... )
{
//there is a column name 'NAME' in call log table in database
String name = cursor.getString(cursor.getColumnIndex(Database.NAME))
//here name is obtained of the clicked item.
}
Курсор - это набор результатов. как курсор узнает, по какому элементу щелкнули? Какими могут быть методы, неявно вызываемые курсором, который задает позицию щелкаемого элемента?
Если есть ссылки на аналогичные вопросы, просьба предоставить.
Я надеюсь, что смогу помочь вам понять вопрос. Спасибо