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

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

Войти
Регистрация
Восстановить пароль
 
 
Хард
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 49
#1

Собственный ListView и его дети - Программирование Android

21.04.2015, 15:31. Просмотров 340. Ответов 16
Метки нет (Все метки)

Имеется простенькая программа. База Данных реализована на сервере и читается через HTTP. В базе содержатся записи (неизвестно сколько). В таблице есть поля: название, описание, число (от 0 до 5), категория.

Создал шаблон дизайна ListView, состоящий из 3-х текстовых полей и Рейтинга.

XML
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
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:padding="6dip" >
 
    <TextView
        android:id="@+id/secondLine"
        android:layout_width="wrap_content"
        android:layout_height="26dip"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="false"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:text="Description"
        android:textSize="12sp" />
    <TextView
        android:id="@+id/thirdLine"
        android:layout_width="wrap_content"
        android:layout_height="26dip"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:text="Rubric"
        android:textSize="12sp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="42dp"
        android:layout_marginEnd="42dp" />
    <TextView
        android:id="@+id/firstLine"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/secondLine"
        android:layout_alignParentRight="false"
        android:layout_alignParentTop="true"
        android:layout_alignWithParentIfMissing="false"
        android:gravity="center_vertical"
        android:text="Example application"
        android:textSize="16sp" />
 
    <RatingBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/ratingBar"
        style="@android:style/Widget.DeviceDefault.Light.RatingBar.Small"
        android:layout_alignBottom="@+id/firstLine"
        android:layout_alignEnd="@+id/thirdLine"
        android:layout_alignParentRight="true"
        android:layout_alignWithParentIfMissing="true"
        android:isIndicator="false"/>
 
</RelativeLayout>
Подскажите, пожалуйста, как мне динамически создавать эти поля и заполнять их из базы?

P.S. Ответ с базы приходит в виде массива JSON, т.е.: (пример) ["Чайник", "Кафе", "4.3", "Цветочная 3"]. Это одна строка. И таких строк множество. Значит нужно создать множество копий шаблона и заполнить все подобным образом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2015, 15:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Собственный ListView и его дети (Программирование Android):

Получить json в приложении и вывести его в listview во фрагмент - Программирование Android
Здравствуйте, у меня такая проблема не могу разобраться как получить json в приложение и вывести его в listview во фрагмент.

ListView. После добавления кнопки перестал быть доступен сам ListView - Программирование Android
Кастомизировал ListView с помощью нескольких TextView. Но после того, как добавил ImageButton сам список стал недоступен для клика, а...

Listview вывод данных и переход по нажатию на другой Listview SQLite - Программирование Android
Доброго извините за название темы, долго не мог сформировать название, В общем у меня беда с пытаюсь написать программу где первый экран...

Данные из SQlite в ListView, обработка события ListView - Программирование Android
Ребят, есть БД, ListView. Надо при нажатии на строчку ListView вытащить данные int из БД. mList.setOnItemClickListener(new...

Как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка? - Программирование Android
Здравствуйте, подскажите, пожалуйста, как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка? ...

ListView, ToggleButton, SQLite, CursorAdapter. Как найти idItem в ListView, где была нажата ToggleButton? - Программирование Android
Добрый день. Затрудняюсь понять один момент: У меня есть ListView, который заполнен Items. Каждый Item - это свой XML. Пока...

16
androbro
330 / 291 / 62
Регистрация: 17.10.2014
Сообщений: 864
21.04.2015, 15:35 #2
Хард, прочитайте про Adapter'ы для ListView, делается элементарно
0
Хард
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 49
21.04.2015, 15:49  [ТС] #3
androbro, я уже читал про адаптеры, и про собственные адаптеры. И я не понимаю как сделать так, как надо мне.
0
androbro
330 / 291 / 62
Регистрация: 17.10.2014
Сообщений: 864
21.04.2015, 16:12 #4
Хард,
Цитата Сообщение от Хард Посмотреть сообщение
И я не понимаю как сделать так, как надо мне.
ну и по какой причине вас не устраивает кастомный адаптер? на каком шаге зависли?
0
Хард
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 49
21.04.2015, 16:13  [ТС] #5
androbro, если вы имеете в виду найти кастомный в интернете, то не нашел. Если же вы говорите о том, чтобы я сам его написал - я пытался, но ничего не понял.
0
androbro
330 / 291 / 62
Регистрация: 17.10.2014
Сообщений: 864
21.04.2015, 16:20 #6
Хард, конечно же о том что бы вы сами написали...в интернете найти что либо под конкретно свою задачу очень сложно, всегда что то да необходимо переделывать.
Цитата Сообщение от Хард Посмотреть сообщение
я пытался, но ничего не понял.
пробуйте, будут ошибки - задавайте вопросы, адаптер это такое дело - "пока сам не напишешь, не поймешь как он работает"
0
Хард
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 49
21.04.2015, 16:25  [ТС] #7
androbro, http://www.vogella.com/tutorials/AndroidListView/article.html делал по это инструкции. но даже по инструкции ничего не получилось.
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
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
 
public class MySimpleArrayAdapter extends ArrayAdapter<String> {
  private final Context context;
  private final String[] values;
 
  public MySimpleArrayAdapter(Context context, String[] values) {
    super(context, R.layout.rowlayout, values);
    this.context = context;
    this.values = values;
  }
 
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) context
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
    TextView textView = (TextView) rowView.findViewById(R.id.label);
    ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
    textView.setText(values[position]);
    // change the icon for Windows and iPhone
    String s = values[position];
    if (s.startsWith("iPhone")) {
      imageView.setImageResource(R.drawable.no);
    } else {
      imageView.setImageResource(R.drawable.ok);
    }
 
    return rowView;
  }
}
если я правильно понял код, то тут картинка и текст. при определенном значении элемента картинка меняется. но похоже я что-то упустил, потому что ничего не происходит.
0
androbro
330 / 291 / 62
Регистрация: 17.10.2014
Сообщений: 864
21.04.2015, 16:41 #8
Хард, да тут много что может влиять на работу
покажите как объявляете, устанавливаете адаптер, разметки
ошибок нет?
0
Хард
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 49
21.04.2015, 16:48  [ТС] #9
androbro, я не понимаю где тут что происходит, для меня этот кок как двоичный.
0
androbro
330 / 291 / 62
Регистрация: 17.10.2014
Сообщений: 864
21.04.2015, 16:52 #10
Хард,
Цитата Сообщение от Хард Посмотреть сообщение
я не понимаю где тут что происходит, для меня этот кок как двоичный.
ну в таком случае наверно стоит пока повременить с кастомными адаптерами, пока код не превратится в десятичный)
0
Хард
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 49
21.04.2015, 16:54  [ТС] #11
androbro, со временем проблемка. завтра предзащита диплома
0
androbro
330 / 291 / 62
Регистрация: 17.10.2014
Сообщений: 864
21.04.2015, 16:59 #12
Хард, предзащита - не защита, выкрутится можно
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
22.04.2015, 14:39 #13
Java
1
TextView textView = (TextView) rowView.findViewById(R.id.label);
Чего-то я не вижу R.id.label в лаяуте.
0
androbro
330 / 291 / 62
Регистрация: 17.10.2014
Сообщений: 864
22.04.2015, 14:46 #14
Цитата Сообщение от Rube Посмотреть сообщение
Чего-то я не вижу R.id.label в лаяуте.
имхо там код из одного проекта а лейаут из другого
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
22.04.2015, 15:08 #15
имхо ТС тупо скопипастил код себе и удивляется почему не работает.
0
22.04.2015, 15:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2015, 15:08
Привет! Вот еще темы с ответами:

Копирование данных из 1 listView во 2 listView - Программирование Android
Нужно что бы при нажатии на один элемент в первом ListView он копировался во второй ListView причём многократно.Но я использую...

Собственный ArrayAdapter - Программирование Android
Доброго времени суток. Пытаюсь написать собственный адаптер для строкового типа: titles = new ArrayList&lt;String&gt;(messages.size());...

Собственный статус-бар - Программирование Android
Народ, знает кто как создать собственный статус бар? У меня есть приложение, развернутое на весь экран, мне нужно вывести иконки...

Использование ListView в ListView - Программирование Android
Всем привет. Можете показать как использовать ListView в ListView, с заполнением как внешнего ListView, так и внутреннего причем с...


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

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

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