Я пытаюсь получить выбранный элемент ListView
, когда пользователь нажимает кнопку. Я использую следующий код в setOnItemClickListener
:getSelectedItem() из ListView при нажатии кнопки
lvequipments.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Object o = lvequipments.getItemAtPosition(i);
CustomerEquipmentView customerEquipmentView = (CustomerEquipmentView)o;
Product product = workOrderPresenter.getCustomerModel().getProduct(customerEquipmentView);
Toast.makeText(getBaseContext(), customerEquipmentView.getModelName(), Toast.LENGTH_LONG).show();
}
});
И тост успешно получает название модели от объекта при выборе различных элементов в ListView
. За пределами ListView
У меня есть кнопка, которая сохраняет некоторые данные с другой панели. Я пытаюсь извлечь ListView
деталь снова здесь, как так
public void saveToDatabase() {
Object o = lvequipments.getSelectedItem();
CustomerEquipmentView customerEquipmentView = (CustomerEquipmentView)o;
...
}
Но o
равно нулю. Оценка lvequipments.getSelectedItem()
в точке останова во время запуска также дает значение null. Как успешно получить выбранный элемент из ListView
вне метода onItemClick()
?
Почему вы ожидаете, что 'getSelectedItem' ничего не вернет? Что-то выбрано в вашем списке? – njzk2
Когда вы нажимаете на элемент в списке, не становится выбранным? – wizloc
нет. это listview находится в CHOICE_MODE, который не является NONE, он может быть проверен. – njzk2