Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Forrof
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 11
#1

Hashmap вывод в адаптер - Программирование Android

30.07.2013, 07:04. Просмотров 924. Ответов 4
Метки нет (Все метки)

Здравствуйте.Имеется проблема сделал приложение которое парсит данные с сайта и добавляет в listview делал он так
Java
1
2
znak_z.setAdapter((new ArrayAdapter<String>(MainActivity.this,
                  R.layout.list_design , R.id.label_c, output)));
все работало текст добавлялся.
решил расширить функционал и рядом добавить картинки с текстом и вот тут началась проблема
вот код
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
private  ArrayList <HashMap<String, Object>> myBooks;
           
            protected List<String> doInBackground(String... arg) {
              output = new ArrayList<String>();
             
              i=0;
              pos_l=0;
           
             
              myBooks = new ArrayList<HashMap<String,Object>>();
              HashMap<String, Object> hm;
              
         
              try
              {  
                  Document doc = Jsoup.connect(arg[0]).timeout(7000).get();
                  
                  Elements element = doc.select("a");
                  
                  for (Element el: element)
                  {
                     
                      Elements element_a = el.select("[class$=name_f]");
                      for (Element el_a: element_a)
                      {
                          hm = new HashMap<String, Object>();
                          output.add(el_a.text()); // использовал до hashmap
                              
                                link_chanel[i]=el_a.attr("href");   
                                
                                   hm.put(bookkey, el_a.text().toString());
                                  
                                   myBooks.add(hm);
                      }
 
                      Elements element_img = el.select("img[style$=border:1px solid #CCCCCC;]");
                      for (Element el_a: element_img)
                      {String path;
                      hm = new HashMap<String, Object>();
                          ling_image_without_http=el_a.attr("src");
                          ling_image= arg[0]+ling_image_without_http;
                             
                                ling_image_without_http = ling_image_without_http;
                                grabImageFromUrl(ling_image,Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+ling_image_without_http);
                                path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+ling_image_without_http;
                                hm.put(imagekey,path.toString());
                                myBooks.add(hm);
                                
                      }
                      
                      
                  }
                  doc.empty();
                  System.out.print(myBooks+"\n");
              }
              catch(Exception e)
              {
                e.printStackTrace();
              
              }
              return output;
              
            }
 
          
        protected void onPostExecute(List<String> output) {
          pd.dismiss();
          znak_z.setAdapter(null);
          pos=0;
         SimpleAdapter adapter = new SimpleAdapter(MainActivity.this,myBooks, R.layout.list_design, new String[]{ "bookkey","imagekey" },new int[]  { R.id.label,R.id.icon });
          znak_z.setAdapter(adapter);
System.out.print(myBooks+"\n"); показывает
Java
1
[{null=/mnt/sdcard//dcim-201.gif}, {null=Знакуль}, {null=/mnt/sdcard//dcim-202.gif}, {null=картофка}, {null=/mnt/sdcard//dcim-203.gif}, {null=еретун}, {null=/mnt/sdcard//dcim-204.gif}, {null=димоныч}, {null=/mnt/sdcard//dcim-205.gif}, {null=рокест}, {null=/mnt/sdcard//           <- смущает что он не закрыт "]" так и должно быть?
то есть заполнение есть но istview пустой ни текста ни картинок хотя и то и то выкачивается
что предложите??
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2013, 07:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Hashmap вывод в адаптер (Программирование Android):

SharedPreferences, HashMap - Программирование Android
Хочу сделать Save , Load в sharedPreferences и вывести результат в Log. не вижу ошибки :wall: Спасибо. public class...

Пропадают данные из HashMap - Программирование Android
Задание такое: парсим данные и закидываем их в HashMap. При записи они есть, но при чтении их нет! Что делать, помогите пожалуйста! Буду...

Заполнение ListView из HashMap - Программирование Android
Добрый день. Столкнулся с некоторой проблемой при наполнении ListView с помощью HashMap. Проблема вот в чем, заполняю HashMap с помощью...

Вытащить из HashSet объект HashMap - Программирование Android
В первую очередь хочу высказать недоумение касаемо того, зачем разработчики системы в качестве массивов в Shared Preference выбрали столько...

Как рандомно получить значение из hashmap'a через ключ - Программирование Android
Предположим у меня есть два ImageButton'a, Hashmap и картинки, помещенные в этот hashmap. Мне нужно используя randomizer рандомно...

Адаптер - Программирование Android
как добавлять данные в адаптер числовые и строковые значение мой код не правильный))) final ListView lv =...

4
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
30.07.2013, 12:58 #2
Цитата Сообщение от Forrof Посмотреть сообщение
<- смущает что он не закрыт "]" так и должно быть?
Предположительно да, ибо LogCat длинную строку обрезает до n-ого символа.

Цитата Сообщение от Forrof Посмотреть сообщение
что предложите??
Предложу заменить HashMap<String, Object> на структуру данных, а SimpleAdapter на кастомный адаптер. Это решит текущие проблемы, позволит в дальнейшем проще отлаживать код и расширять функционал.
0
Forrof
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 11
30.07.2013, 13:48  [ТС] #3
Цитата Сообщение от Forrof Посмотреть сообщение
[{null=/mnt/sdcard//dcim-201.gif}, {null=Знакуль},
а в этих массив null так и должно быть?
0
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
30.07.2013, 14:10 #4
Это зависит от того, что вы хотите сделать. null - это ключ для пары, ключами являются bookkey и imagekey, если они null, то это естественно. Значения с ключом null не сложно вытащить, но, вероятно, вы просто забыли присвоить им значение..
0
Forrof
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 11
30.07.2013, 14:10  [ТС] #5
вопрос закрыт эт я сам затупил и заковычковал переменные в
Java
1
SimpleAdapter adapter = new SimpleAdapter(MainActivity.this,myBooks, R.layout.list_design, new String[]{ "bookkey","imagekey" },new int[]  { R.id.label,R.id.icon });
0
30.07.2013, 14:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2013, 14:10
Привет! Вот еще темы с ответами:

Picaso и адаптер - Программирование Android
Доброго времени суток, ребята помогите весь день писал все нормально было, но под вечер что то я начал здавать, в общем у меня выводится...

Адаптер и ListView - Программирование Android
Решил написать свой адаптер, работающий с listView. Беда в том, что программа вылетает сразу же. Вот код MainActivity: package...

ListView и кастомный адаптер - Программирование Android
Добрый день ув. Программисты! Нашёл код который заполняет ListView с кастомным адаптером. Но вот проблема ListView создаётся...

Кастомный адаптер listView - Программирование Android
Доброго времени суток, в общем впервые столкнулся с задачей создания кастомного адаптера для listView. Нашел много примеров/статей,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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