Урок 45. Список-дерево ExpandableListView
Урок 45. Список-дерево ExpandableListView
Последний раз редактировалось damager82 02 май 2017, 23:34, всего редактировалось 5 раз.
Re: Урок 45. Список-дерево ExpandableListView
привет всем!
попробовал поэкспериментировать с настройками
adapter, в частности с android.R.id.text1 (подставил android.R.id.text2, собственные настройки),
получил один результат - пропал вывод на экран массива фирм (самсунг и т.д.).
Подскажите, в чем проблема.
в инете нашел описание android.R.id.text1, подставил, тот же результат, не работает.
<TextView
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:paddingLeft="5dip"
android:singleLine="true"
/>
попробовал поэкспериментировать с настройками
adapter, в частности с android.R.id.text1 (подставил android.R.id.text2, собственные настройки),
получил один результат - пропал вывод на экран массива фирм (самсунг и т.д.).
Подскажите, в чем проблема.
в инете нашел описание android.R.id.text1, подставил, тот же результат, не работает.
<TextView
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:paddingLeft="5dip"
android:singleLine="true"
/>
Re: Урок 45. Список-дерево ExpandableListView
Походу вы указываете адаптеру поля, которых нет в layout.Slavko писал(а):попробовал поэкспериментировать с настройками adapter, в частности с android.R.id.text1 (подставил android.R.id.text2, собственные настройки),
получил один результат - пропал вывод на экран массива фирм (самсунг и т.д.).
Укажите здесь вашу строку создания адаптера, плз. Чтобы было видно, какие layout используются. И содержимое массивов groupTo и childTo.
Re: Урок 45. Список-дерево ExpandableListView
В тексте ничего не менял.
Я хотел по экспериментировать с шаблонами гугла.
в строке
int groupTo[] = new int[] {android.R.id.text1};
Заменил один шаблон на другой.
int groupTo[] = new int[] {android.R.id.text2};
Подставил в файл компановки main.xml свои настройки.
Результат один, пропадают названия фирм.
Я хотел по экспериментировать с шаблонами гугла.
в строке
int groupTo[] = new int[] {android.R.id.text1};
Заменил один шаблон на другой.
int groupTo[] = new int[] {android.R.id.text2};
Подставил в файл компановки main.xml свои настройки.
Результат один, пропадают названия фирм.
Re: Урок 45. Список-дерево ExpandableListView
В main.xml только компонент списка.Slavko писал(а):В тексте ничего не менял.
Я хотел по экспериментировать с шаблонами гугла.
в строке
int groupTo[] = new int[] {android.R.id.text1};
Заменил один шаблон на другой.
int groupTo[] = new int[] {android.R.id.text2};
Подставил в файл компановки main.xml свои настройки.
Результат один, пропадают названия фирм.
За отображение данных отвечают:
android.R.layout.simple_expandable_list_item_1 - группы
android.R.layout.simple_list_item_1 - элементы
В них должны быть те View-компоненты, которые вы соответственно указываете в массивах groupTo и childTo.
Элемент с id = android.R.id.text2 есть в layout отвечающем за группы?
Re: Урок 45. Список-дерево ExpandableListView
45 и 46 урок, вопрос - как при открытии списка закрыть предыдущий открытый список. - требуется только 1 открытый список.
Re: Урок 45. Список-дерево ExpandableListView
Можно хранить где-нить позицию последней открытой группы и закрывать ее программно при открытии новой.Dull писал(а):45 и 46 урок, вопрос - как при открытии списка закрыть предыдущий открытый список. - требуется только 1 открытый список.
Пример реализации:
Создать переменную в классе Activity
Код: Выделить всё
int currGroup = 0;
Код: Выделить всё
if (currGroup != groupPosition) {
elvMain.collapseGroup(currGroup);
currGroup = groupPosition;
}
Re: Урок 45. Список-дерево ExpandableListView
у меня сначала та же фигня была:) дело в том, что после того как вы применили свой слой тут:damager82 писал(а):Походу вы указываете адаптеру поля, которых нет в layout.Slavko писал(а):попробовал поэкспериментировать с настройками adapter, в частности с android.R.id.text1 (подставил android.R.id.text2, собственные настройки),
получил один результат - пропал вывод на экран массива фирм (самсунг и т.д.).
Укажите здесь вашу строку создания адаптера, плз. Чтобы было видно, какие layout используются. И содержимое массивов groupTo и childTo.
android.R.layout.simple_expandable_list_item_1
Код: Выделить всё
SimpleCursorTreeAdapter sctAdapter = new MyAdapter(this, cursor,
android.R.layout.simple_expandable_list_item_1, groupFrom,
groupTo, android.R.layout.simple_list_item_1, childFrom,
childTo);
elvMain = (ExpandableListView) findViewById(R.id.elvMain);
elvMain.setAdapter(sctAdapter);
}
Код: Выделить всё
String[] groupFrom = { mDbHelper.spr_grp_go_name };
int[] groupTo = { android.R.id.text1 };
кстати, как отредактировать android.R.layout.simple_list_item_1? эклипс матерится когда я его открываю.
Re: Урок 45. Список-дерево ExpandableListView
Я думаю, никак. Только копию свою создать.Xroft писал(а):кстати, как отредактировать android.R.layout.simple_list_item_1? эклипс матерится когда я его открываю.
Re: Урок 45. Список-дерево ExpandableListView
Появилась необходимость использовать этот тип ListView, но в родительском списке должны присутствовать как разворачивающиеся группы, так и элементы, не имеющие дочерних.
Скажите, это можно реализовать при помощи ExpandableListView и если нет, то при помощи чего?
Скажите, это можно реализовать при помощи ExpandableListView и если нет, то при помощи чего?
Код: Выделить всё
--start--
Item1
Item2
Item3
subitem1
subitem2
subitem3
Item4
Item5
subitem1
subitem2
subitem3
--end--
Re: Урок 45. Список-дерево ExpandableListView
оригинал можно взять из <путь установки android>/platrorms/android-<номер версии>/data/res/layout/simple_list_item_1.xmldamager82 писал(а):Я думаю, никак. Только копию свою создать.Xroft писал(а):кстати, как отредактировать android.R.layout.simple_list_item_1? эклипс матерится когда я его открываю.
Re: Урок 45. Список-дерево ExpandableListView
такое подойдёт? http://android-adda.blogspot.com/2011/0 ... tview.htmlandev писал(а):Появилась необходимость использовать этот тип ListView, но в родительском списке должны присутствовать как разворачивающиеся группы, так и элементы, не имеющие дочерних.
Скажите, это можно реализовать при помощи ExpandableListView и если нет, то при помощи чего?
Код: Выделить всё
--start-- Item1 Item2 Item3 subitem1 subitem2 subitem3 Item4 Item5 subitem1 subitem2 subitem3 --end--
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 45. Список-дерево ExpandableListView
Как переделать цикл для добавления еще одного аттрибута элемента?А вообще вы можете создать для элементов свой layout, например, с тремя TextView. И к каждому элементу списка (Map) добавить еще по два атрибута: цена и цвет.
ну что-то вроде этого:
Код: Выделить всё
// создаем коллекцию элементов для первой группы
childDataItem = new ArrayList<Map<String, String>>();
// заполняем список аттрибутов для каждого элемента
for (String phone, price: phonesHTC, phonesHTCprice) { // такого цикла нет. как правильно?
m = new HashMap<String, String>();
m.put("phoneName", phone); // название телефона
m.put("phonePrice", price); // цена телефона
childDataItem.add(m);
}
// добавляем в коллекцию коллекций
childData.add(childDataItem);
Re: Урок 45. Список-дерево ExpandableListView
phonesHTC и phonesHTCprice - это обычные массивы или списки?
Если обычные массивы - пользуйтесь обычным for по индексу.
Если списки - придётся использовать итераторы в явном виде.
Если обычные массивы - пользуйтесь обычным for по индексу.
Если списки - придётся использовать итераторы в явном виде.
Re: Урок 45. Список-дерево ExpandableListView
Скажите пожалуйста, а как можно сделать такой адаптер для ExpandableListView?
То есть, чтобы полностью все осталось как в уроке, но я мог видеть название группы, описание ее и картинку группы, а по клику на нее просто подгруппы видеть-там мне картинки и описание не нужно. Очень надо, но я даже не представляю как переделать Ваш урок, чтоб получилось такое...
UPD: Я уже добавил данный шаблон к проекту. Поместил в более крупный крупный текст названия фирм. По нажатию на данный шаблон он разворачивается и показывается childGroup. В этом плане все нормально. Но. Допустим у меня есть массив стрингов GroupDescription. Я хочу его заполнить, чтоб он заполнял textview, который на скрине мелким шрифтом и плюс, чтоб к каждому элементу в соответствии с названиями фирм появлялись картинки. Можете помочь реализовать? Извинияюсь заранее ,если непонятно объяснил....
То есть, чтобы полностью все осталось как в уроке, но я мог видеть название группы, описание ее и картинку группы, а по клику на нее просто подгруппы видеть-там мне картинки и описание не нужно. Очень надо, но я даже не представляю как переделать Ваш урок, чтоб получилось такое...
UPD: Я уже добавил данный шаблон к проекту. Поместил в более крупный крупный текст названия фирм. По нажатию на данный шаблон он разворачивается и показывается childGroup. В этом плане все нормально. Но. Допустим у меня есть массив стрингов GroupDescription. Я хочу его заполнить, чтоб он заполнял textview, который на скрине мелким шрифтом и плюс, чтоб к каждому элементу в соответствии с названиями фирм появлялись картинки. Можете помочь реализовать? Извинияюсь заранее ,если непонятно объяснил....
Re: Урок 45. Список-дерево ExpandableListView
Думаю, что стандартными средствами не сделать такого. Этот адаптер только текст понимает. Из хелпа: "These should all be TextViews".beeline09 писал(а):Допустим у меня есть массив стрингов GroupDescription. Я хочу его заполнить, чтоб он заполнял textview, который на скрине мелким шрифтом и плюс, чтоб к каждому элементу в соответствии с названиями фирм появлялись картинки.
Только свое что-то дописывать.
Re: Урок 45. Список-дерево ExpandableListView
та кастомный нужно делать, делов то...
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 45. Список-дерево ExpandableListView
Ну правильно. Я Список фирм телефонов заполнил. Просто в том шаблоне два TextView и один я уже заполнил списком фирм. Теперь мне нужно сделать список описаний для фирм и заполнить их в textview2 скажем так одновременно с textview1. Я надеюсь понятно изъяснился?damager82 писал(а):Думаю, что стандартными средствами не сделать такого. Этот адаптер только текст понимает. Из хелпа: "These should all be TextViews".beeline09 писал(а):Допустим у меня есть массив стрингов GroupDescription. Я хочу его заполнить, чтоб он заполнял textview, который на скрине мелким шрифтом и плюс, чтоб к каждому элементу в соответствии с названиями фирм появлялись картинки.
Только свое что-то дописывать.
Ну может поможешь тогда?та кастомный нужно делать, делов то...
Re: Урок 45. Список-дерево ExpandableListView
beeline09 Для начала скажи в чём состоит трудность. Идею подкинули. Проблема реализовать адаптер? Примеров куча. Если реализовал адаптер, а он делает/показывает что то не то, то сбрасывай сюда и будем уже разбираться.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 103
- Зарегистрирован: 10 сен 2012, 11:58
Re: Урок 45. Список-дерево ExpandableListView
Здравствуйте.
В 43 уроке адаптер создавался при помощи метода createFromResource, используя массив из файла ресурсов.
Как, создавая адаптер при помощи SimpleExpandableListAdapter, указать использование массива из файла ресурсов, а не из Java кода.
Спасибо.
В 43 уроке адаптер создавался при помощи метода createFromResource, используя массив из файла ресурсов.
Как, создавая адаптер при помощи SimpleExpandableListAdapter, указать использование массива из файла ресурсов, а не из Java кода.
Спасибо.