Я получаю-1 значение, когда я пытаюсь получить позицию выбранного пункта по своему listview, который уже заполняется.
list.setOnItemClickListener
(
new AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView adapterView, View view,int arg2, long arg3)
{
int selectedPosition = adapterView.getSelectedItemPosition();
ShowAlert(String.valueOf(selectedPosition));
}
}
);
Для заполнения моего списка просматривают, я использую следующий код:
SimpleAdapter mSchedule = new SimpleAdapter(
this,
mylist,
R.layout.listviewtest,
new String[] {"test1", "test2", "test3"},
new int[] {R.id.TextView_websitename, R.id.TextView_keywords, R.id.TextView_backlink});
Какая-либо идея?
Заранее спасибо.
С уважением.
Jose.
Это означает, что строка не выбрана. В документации указано, что getSelectedItemPosition ()
возвращает:
int Position (начиная с 0) или INVALID_POSITION, если ничего не выбрано .
И INVALID_POSITION
равно -1
.
Обратите внимание, что вы вызываете getSelectedItemPosition ()
из OnClickListener
. Щелчок и выбор не обязательно связаны. Выбор осуществляется с помощью крестовины или трекбола для навигации по содержимому списка. Если пользователь нажимает на экран (или щелкает в эмуляторе), выбора больше не будет, но событие щелчка все равно будет.
Отображаемое значение arg2
- это позиция элемента в списке, по которому был выполнен щелчок.