Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
217 / 217 / 21
Регистрация: 19.01.2013
Сообщений: 1,637
Записей в блоге: 3
#1

ListView с ресурсами - Android

29.04.2014, 10:07. Просмотров 485. Ответов 5
Метки нет (Все метки)

Всем привет!

Как мне реализовать ListView

1) так чтобы визуально он был таким:
ListView с ресурсами

p.s 1) Это я реализовал:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
List<String> carNames = new ArrayList<String>();
if (lst.getPropertyCount() > 0) 
{   
for(int i = 1; i<lst.getPropertyCount();i++)
{
SoapObject car = (SoapObject) lst.getProperty(i);
carNames.add(car.getProperty("objectName").toString()) ;
}
 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_multiple_choice, carNames); 
Listview1.setAdapter(adapter);


2) Но мне нужно чтобы для каждой строки ListView был свой скрытый контейнер - туда нужно записывать ID авто {
Java
1
car.getProperty("id").toString()
}, и еще всякую инфу.
таким образом чтобы потом можно было при нажатии в checkbox или Listview Item можно было обратиться к его скрытому ID и т.д.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2014, 10:07     ListView с ресурсами
Посмотрите здесь:

Android Работа с ресурсами XML
Разбиение ListView Android
Работа с Listview Android
Android Работа с Listview
отображение Listview Android
Scroll listview Android
ListView обновление Android
Глючит ListView Android
Альтернатива ListView Android
Android ListView с разделителями
Android Траблы с ListView
Android Работа с ресурсами проекта

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.04.2014, 13:47     ListView с ресурсами #2
создайте свою сущность, описывающую все поля что вам необходимы.
Потом унаследуйтесь от ArrayAdapter, реализуйте метод getView.
ILNAR_93
Android
217 / 217 / 21
Регистрация: 19.01.2013
Сообщений: 1,637
Записей в блоге: 3
29.04.2014, 13:55  [ТС]     ListView с ресурсами #3
NiRamz,
Примером из инета пробовал так:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class Product {
     private int id;
        private String objectname;
        private String objectId;
        private String Type_;
        
        public Product(){
            super();
        }
        
        public Product(int id, String objectname, String objectId,String Type_) {
            super();
            this.id = id;
            this.objectname = objectname;
            this.objectId = objectId;
            this.Type_ = Type_;
        }
 
       @Override
        public String toString() {
           return this.id + ". " + this.objectname + " " + this.objectId + " "+this.Type_;
        }
       
       
       
    }
потом использовал так:

Java
1
2
ArrayAdapter<Product> adapter  =  new  ArrayAdapter<Product>(MainActivity.this,android.R.layout.simple_list_item_multiple_choice, carNames);    
                    Listview1.setAdapter(adapter);


но он мне выдает не совсем что мне нужно он тупо записывает его в строку (Item). Пример взял отсюда :

NiRamz, для меня Java пока что вообще "Иноро́дное те́ло", не мог бы хотя бы примерный пример привести ?
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.04.2014, 14:06     ListView с ресурсами #4
реализуйте toString как вам нужно. Если только имя, то
Java
1
2
3
4
@Override
        public String toString() {
           return this.objectname;
        }
ILNAR_93
Android
217 / 217 / 21
Регистрация: 19.01.2013
Сообщений: 1,637
Записей в блоге: 3
29.04.2014, 16:38  [ТС]     ListView с ресурсами #5
NiRamz, я все не разберусь как там getView реализовать,

чтобы реализовать этакое :
Java
1
2
3
4
5
6
7
8
Listview1.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id)
    {
        
// вывод ID из ресурса (объекта Listview)
    }
        
    });


Java
1
2
3
4
5
6
7
carNames.add(new Product(i, car.getProperty("objectName").toString(), 
                             car.getProperty("id").toString(),"")) ;
}
                    
                    
                    ArrayAdapter<Product> adapter  =  new  ArrayAdapter<Product>(MainActivity.this,android.R.layout.simple_list_item_multiple_choice, carNames);    
                    Listview1.setAdapter(adapter);
Добавлено через 1 час 44 минуты
Пока решения не нашел

сделал так:
Java
1
ArrayList<String> Listidcar = new ArrayList<String>();
в цикле где заполняется адаптер я также добавляю
Java
1
Listidcar.add(ID);
потом:
Java
1
tv.setText(Listidcar.get((int) id));
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
29.04.2014, 16:50     ListView с ресурсами #6
если я правильно понял, вам необходимо по тачу получить нужный объект из адаптера, правильно?

если так, то делайте в обработчике
Java
1
Product item = (Product) parent.getAdapter().getItem(position)
Дальше с item можем работать как с отдельным объектом.
Yandex
Объявления
29.04.2014, 16:50     ListView с ресурсами
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru