Урок 46. События ExpandableListView
Урок 46. События ExpandableListView
Последний раз редактировалось damager82 02 май 2017, 23:34, всего редактировалось 5 раз.
-
- Сообщения: 1
- Зарегистрирован: 10 янв 2012, 18:07
Re: Урок 46. События ExpandableListView
подскажите пожалуйста, как по нажатию на элемент открывать html файл?
например, по клику на название телефона открывать его описание в формате html...
например, по клику на название телефона открывать его описание в формате html...
Re: Урок 46. События ExpandableListView
Да, получал ваше сообщение по почте. Седня-завтра посмотрю и отвечу.
Ну либо кто-нить другой ответит раньше
Ну либо кто-нить другой ответит раньше
Re: Урок 46. События ExpandableListView
Т.е. вопрос - как открыть html файл из assets и показать его.
Смотрите урок 32 на сайте, там я показываю компонент, который умеет показывать html. Здесь о нем можно почитать.
Только в уроке я гружу URL, а вам нужен файл. Подойдет метод WebView.loadData. Он на вход принимает html-строку.
Вам остается прочесть файл, получить из байтов строку и отдать ее WebView-компоненту.
Прочесть файл в InputStream можно так:
Где file - это строка, имя файла.
Если чего не получится, сообщайте. Напишу код-пример.
Смотрите урок 32 на сайте, там я показываю компонент, который умеет показывать html. Здесь о нем можно почитать.
Только в уроке я гружу URL, а вам нужен файл. Подойдет метод WebView.loadData. Он на вход принимает html-строку.
Вам остается прочесть файл, получить из байтов строку и отдать ее WebView-компоненту.
Прочесть файл в InputStream можно так:
Код: Выделить всё
getAssets().open(file);
Если чего не получится, сообщайте. Напишу код-пример.
Re: Урок 46. События ExpandableListView
подскажите, возникла проблема.
хотел модернизировать код
перенести все данные массивов в ресурсный файл
сделал в strings.xml
<string-array name="firm">
<item >HTC</item>
<item >Samsung</item>
<item >LG</item>
</string-array>
в классе AdapterHelper изменил
String[] groups = new String[] {"HTC", "Samsung", "LG"};
на
String[] groups = getResources().getStringArray(R.array.firm);
дает ошибку выполнения.
аналогичное решение работало в уроке 43, здесь нет.
в чем ошибка?
хотел модернизировать код
перенести все данные массивов в ресурсный файл
сделал в strings.xml
<string-array name="firm">
<item >HTC</item>
<item >Samsung</item>
<item >LG</item>
</string-array>
в классе AdapterHelper изменил
String[] groups = new String[] {"HTC", "Samsung", "LG"};
на
String[] groups = getResources().getStringArray(R.array.firm);
дает ошибку выполнения.
аналогичное решение работало в уроке 43, здесь нет.
в чем ошибка?
Re: Урок 46. События ExpandableListView
Именно эта строка дает ошибку?
Какой текст ошибки?
Код: Выделить всё
String[] groups = getResources().getStringArray(R.array.firm);
Re: Урок 46. События ExpandableListView
массив пустой
String[] groups = getResources().getStringArray(R.array.firm);
не отработала
ошибку дает первый оператор использования массива groups
for (String group : groups) {
String[] groups = getResources().getStringArray(R.array.firm);
не отработала
ошибку дает первый оператор использования массива groups
for (String group : groups) {
Re: Урок 46. События ExpandableListView
Если данные описаны так: <string-array name="firm">
и внутри куча item, то странно, что не работает.
Может что-то заглючило в Eclipse, попробуйте вместо firm использовать другое слово.
Если не работает, выложите здесь xml-текст, который ваш массив описывает. Посмотрим.
и внутри куча item, то странно, что не работает.
Может что-то заглючило в Eclipse, попробуйте вместо firm использовать другое слово.
Если не работает, выложите здесь xml-текст, который ваш массив описывает. Посмотрим.
Re: Урок 46. События ExpandableListView
Код: Выделить всё
String[] groups;
//in getAdapter()
groups= ctx.getResources().getStringArray(R.array.commGroup);
Re: Урок 46. События ExpandableListView
Обьясните пожалуйста назначение underscore, и необходимость его использования
ctx = _ctx;
ctx = _ctx;
Re: Урок 46. События ExpandableListView
это контекст приложения с помощью которого можем получить например доступ к ресурсам (в данном примере).Natalia писал(а):Обьясните пожалуйста назначение underscore, и необходимость его использования
ctx = _ctx;
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 46. События ExpandableListView
Подчеркивание сделано, чтобы переменные имели разные имена.Natalia писал(а):Обьясните пожалуйста назначение underscore, и необходимость его использования
ctx = _ctx;
Без подчеркивания надо было бы писать this.ctx = ctx. Кто-то именно так и делает и подчеркивания не использует. На вкус и цвет ... )
Re: Урок 46. События ExpandableListView
из истории... подчёркивание свойственно С, там принята такая конструкция, в более языках java, c# принято this, даже сам Eclipse при генерации кода ставит this (но это можно перенастроить).
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 46. События ExpandableListView
Пытаюсь сделать особенный child лайаут такой чтобы при нажатии на child элемент
высвечивалась картинка , которая до этого была невидимой
вот такой код
В итоге нажимать нужно раскрыв все группы начинать нажимать с самой последней
иначе картинка видна только в первом чаилде первой группы .
Update - картинка становится видна только в первом чаилде первой группы
Есть какое нибудь решение?
высвечивалась картинка , которая до этого была невидимой
вот такой код
Код: Выделить всё
adapter = new SimpleExpandableListAdapter(
this,
groupData,
android.R.layout.simple_expandable_list_item_1,
groupFrom,
groupTo,
childData,
R.layout.childrow,
childFrom,
childTo);
elvMain = (ExpandableListView) findViewById(R.id.elvValues);
elvMain.setAdapter(adapter);
elvMain.setOnChildClickListener(new OnChildClickListener() {
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
Log.d("Childclick", "onChildClick groupPosition = " + groupPosition +
" childPosition = " + childPosition +
" id = " + id);
ImageView ok = (ImageView) findViewById(R.id.imageOk);
ok.setVisibility(View.VISIBLE);
В итоге нажимать нужно раскрыв все группы начинать нажимать с самой последней
иначе картинка видна только в первом чаилде первой группы .
Update - картинка становится видна только в первом чаилде первой группы
Есть какое нибудь решение?
Re: Урок 46. События ExpandableListView
Приветствую! Тот же вопрос, нужно по нажатию на элемент открывать html файл. Напишите пожалуйста код-пример.damager82 писал(а):Т.е. вопрос - как открыть html файл из assets и показать его.
Смотрите урок 32 на сайте, там я показываю компонент, который умеет показывать html. Здесь о нем можно почитать.
Только в уроке я гружу URL, а вам нужен файл. Подойдет метод WebView.loadData. Он на вход принимает html-строку.
Вам остается прочесть файл, получить из байтов строку и отдать ее WebView-компоненту.
Прочесть файл в InputStream можно так:Где file - это строка, имя файла.Код: Выделить всё
getAssets().open(file);
Если чего не получится, сообщайте. Напишу код-пример.
Re: Урок 46. События ExpandableListView
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Урок 46. События ExpandableListView
Спасибо, применил ваш метод в уроке 32, получилось (я нажимал кнопку, и открывался мой html файл). А как мне сделать это в уроке 46? Как-то привязывать к каждому варианту новый html документ?
Re: Урок 46. События ExpandableListView
Находил пример (там использовался ListView, и при нажатии на один из элементов списка, открывался текстовый файл) текстовые файлы помещались в папку. а код был реализован таким образом, что эти файлы как-то автоматом привязывались к элементам списка и при нажатии открывались.
Re: Урок 46. События ExpandableListView
У нас же структура тут сложнее. Варианты расположены в группах
Re: Урок 46. События ExpandableListView
Хотел бы узнать можно ли добавить картинку в Child?Если да то каким методом?
- Вложения
-
- Безымянный.jpg (50.12 КБ) 23734 просмотра