Есть кастомный элемент списка в котором textview. Выводит,исключительно,текст из ПОСЛЕДНЕГО элемента списка, вне зависимости он кликнутой позиции.
@Override
public void onResponse(JSONObject response) {
hideDialog();
//parsing json
try{
JSONArray obj = response.getJSONArray("image_info_table");
for(int i=0;i<obj.length();i++){
final JSONObject info = obj.getJSONObject(i);
final Item item=new Item();
item.setTitle(info.getString("name"));
item.setImage(info.getString("path"));
array.add(item);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
System.out.println("itemClick: position = " + position + ", id = "
+ id);
System.out.println( item.getTitle());\\ проблемка вот тут, выводит текст, только из нижнего, последнего элемента списка.
}
});
}
Подскажите,плз, как реализовать корректную работу по выводу текста с каждого элемента списка, а не только из последнего.
Вы загоняете последний 'Item ' в массив, а потом при клике на любой элемент списка выводите текст из этого последнего 'Item'.
В Вашем случае в 'Listener'-e должен был быть код примерно такой:
System.out.println(array.get(position).getTitle());
Установку 'Listener'-а кстати вынесите из цикла, а то постоянно его перезаписываете.
Вы каждый раз перезаписываете onItemClickListener, в конечном итоге остаётся только последний.
Вот одно из решений:
@Override
public void onResponse(JSONObject response) {
hideDialog();
//parsing json
try{
JSONArray obj = response.getJSONArray("image_info_table");
if (obj != null) {
for (int i=0;i<obj.length();i++){
final Item item = new Item();
item.setTitle(info.getString("name"));
item.setImage(info.getString("path"));
array.add(item);
}
}
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
System.out.println("itemClick: position = " + position + ", id = " + id);
System.out.println(array.get(position).getTitle());
}
});
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Такой вопрос, если у меня есть задание: В потоке А формируется общий ресурс (формирует файл), а в потоке В обработать его (отсортировать числа...
Нужно из контроллера SpringMVC вернуть pojo объект и перехватить его на странице jsp функцией $ajax()
Описано два класса в одном пекеджеВ первом описание объекта и методы, в другом эти методы должны выполняться
Пытаюсь запустить приложение на своем девайсе но постоянно выскакивает эта ошибка