Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 18 июн 2018, 10:50

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 81 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 04 мар 2015, 18:43 
Аватар пользователя

Зарегистрирован: 30 ноя 2014, 22:24
Сообщений: 10
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Уважаемые форумчане!

Уточню свой предыдущий вопрос.
Не могу реализовать вызов активити в этом месте:

// нажатие на элемент
elvMain.setOnChildClickListener(new OnChildClickListener() {
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id)
{
Log.d(LOG_TAG, "onChildClick groupPosition = " + groupPosition +
" childPosition = " + childPosition +
" id = " + id);


Не воспринимает строку

Intent intent = new Intent(this, Report1.class);

Активити Report1 рабочее, а именно из указанного места(по выбору элемента) не дает возможности вызвать!!

Не найду в чем косяк.
Прошу о помощи!!!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 04 мар 2015, 19:07 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
"Не воспринимает строку" ни о чем не говорит. Логи ошибки в студию.

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 04 мар 2015, 20:29 
Аватар пользователя

Зарегистрирован: 30 ноя 2014, 22:24
Сообщений: 10
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
"Не воспринимает строку" ни о чем не говорит. Логи ошибки в студию.


Ошибка:
The constructor Intent(new ExpandableListView.OnChildClickListener(){}, Class<Report1>) is undefined

Предлагает убрать ссылку на класс

...
Intent intent = new Intent();
...

но как же тогда???


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 04 мар 2015, 20:31 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Report1 класс создавал? импортировал?

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 04 мар 2015, 20:41 
Аватар пользователя

Зарегистрирован: 30 ноя 2014, 22:24
Сообщений: 10
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Класс создан, определен в манифесте! Более того - он работает (без условия)
По условию хочу прописать вызов этого класса, но "не дает прописать"


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 04 мар 2015, 21:46 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
класс целиком скинь (только используй теги "коде")

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 04 мар 2015, 22:23 
Аватар пользователя

Зарегистрирован: 30 ноя 2014, 22:24
Сообщений: 10
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
doter.ua писал(а):
класс целиком скинь (только используй теги "коде")


Да , ничего особенного. Простейшая структура на основе урока

package ru.startandroid.develop.p0461expandablelistevents;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class Report1 extends Activity {
LinearLayout llRep;
TextView textout;
TextView textName;
TextView textblank; // для пробела
WebView webView1;
String data1;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rep);


webView1=(WebView)findViewById(R.id.webView1);
llRep = (LinearLayout) findViewById(R.id.llRep);


Intent intent = getIntent();

String Name = intent.getStringExtra("name"); // не используется


webView1.loadUrl("file:///android_asset/Lynx2201.htm"); // вывод текстовога файла

}
}


Полагаю что формат вызова Activity в elvMain.setOnChildClickListener должен быть другой. Или тот же Intent, но с определенным ньансом(формат, ключевое слово,...). Продолжаю биться в тудовом экстазе, должно что-то быть.....


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 04 мар 2015, 23:57 
Аватар пользователя

Зарегистрирован: 30 ноя 2014, 22:24
Сообщений: 10
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Вот оно!!! Нашел где собака порылась)

Вместо строки :
Intent intent = new Intent(this, Report1.class);

Нужно использовать :
Intent i=new Intent(getApplicationContext(), Report1.class);

Ну и потом уже запускать новое Activity:
startActivity(i);

Нашел здесь:
http://stackoverflow.com/questions/26298032/android-onchildclicklistener-in-expandable-listview

doter.ua, спасибо!

Всем творческих успехов!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 05 мар 2015, 08:35 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
Открою один Java секрет:
Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. Intent intent = new Intent(MyActivity.this, Report1.class); //MyActivity - исходная активити


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 12 мар 2015, 18:11 
Аватар пользователя

Зарегистрирован: 30 ноя 2014, 22:24
Сообщений: 10
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Господа!

Добавил файл html - все прекрасно. Но во время его просмотра нет возможности увеличить(приблизить) текст.
Как можно реализовать такую функцию?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 22 май 2015, 19:20 

Зарегистрирован: 22 май 2015, 19:17
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Как реализовать чтоб при нажатии на элемент списка осуществлялся переход на другой Activity?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 22 май 2015, 19:58 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
ISLI писал(а):
Как реализовать чтоб при нажатии на элемент списка осуществлялся переход на другой Activity?

В кастомном адаптере.

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 25 авг 2015, 17:20 
Аватар пользователя

Зарегистрирован: 25 авг 2015, 17:12
Сообщений: 2
Откуда: ташкент
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
у меня вопрос. Возможно даже глупый.
Код: [ Загрузить ] [ Скрыть ]
  1. String getGroupText(int groupPos) { 
  2.     return ((Map<String,String>)(adapter.getGroup(groupPos))).get(ATTR_GROUP_NAME); 


Цитата:
В конце класса находятся методы, которые возвращают нам названия групп и элементов из коллекций по номеру группы или номеру элемента. Для этого используем методы адаптера getGroup и getChild, приводим их к Map и извлекаем значение атрибута с именем компании или телефона.


как я понял, метод getGroup() описан в классе SimpleExpandableListAdapter, и возвращает объект Object. ???
Как можно привести тип Object к типу Map<? extends ?> ??? Я, может Java плохо изучал, но знаю, что Map<? extends ?> можно привести к Object. А как объяснить обратное?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 26 авг 2015, 16:06 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
wamik писал(а):
у меня вопрос. Возможно даже глупый.
Код: [ Загрузить ] [ Скрыть ]
  1. String getGroupText(int groupPos) { 
  2.     return ((Map<String,String>)(adapter.getGroup(groupPos))).get(ATTR_GROUP_NAME); 


Цитата:
В конце класса находятся методы, которые возвращают нам названия групп и элементов из коллекций по номеру группы или номеру элемента. Для этого используем методы адаптера getGroup и getChild, приводим их к Map и извлекаем значение атрибута с именем компании или телефона.


как я понял, метод getGroup() описан в классе SimpleExpandableListAdapter, и возвращает объект Object. ???
Как можно привести тип Object к типу Map<? extends ?> ??? Я, может Java плохо изучал, но знаю, что Map<? extends ?> можно привести к Object. А как объяснить обратное?


Не знаю что это за способы такие, но коллекция, передаваемая адаптеру, дает ему только ссылку на себя, т.е. можно в активити, зная groupID и childID достать из неё нужный элемент: myMap.get(groupID).get(childID).
З.Ы. могут быть несколько вариантов:
1) обработка в адаптере: тогда хранишь в нем ссылку на коллекцию из активити. например this.myList = list_из_конструктора.
2) обработка в активити: в ОнАйтемКлике должны передаваться нужные ИД в параметрах - т.е. проблем не возникнет.

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 22 ноя 2016, 09:46 

Зарегистрирован: 22 ноя 2016, 09:32
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Всем привет!
Я новичок в программировании. У меня проблема: не могу сопоставить конкретный child с картинкой.
Задача: при нажатии на конкретный child брать id картинки из ресурсов и отправить в новое активити.
Пример меню:
public class ListData {
public static HashMap<String, List<String>> loadData() {
HashMap<String, List<String>> expDetails = new HashMap<>();

List<String> kats = new ArrayList<>();
kats.add("Маруся");
kats.add("Валя");
kats.add("Мурка");

List<String> dogs = new ArrayList<>();
dogs.add("Шарик");
dogs.add("ганс");

expDetails.put("Кошки", kats);
expDetails.put("Собаки", dogs);

return expDetails;
}
}

механизм нажатия в основном активити:
expListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {

// как правильно сделать конструкцию выбора для каждого child?

}
});

Думал реализовать через swich, но не понял как.
Ресурсы: mar.png; val.png; mur.png; shar.png; gan.png;
Буду рад любой помощи. Спасибо!

Разобрался:
Код: [ Загрузить ] [ Скрыть ]
  1. @Override 
  2.             public boolean onChildClick(ExpandableListView parent, View v, 
  3.                                         int groupPosition, int childPosition, long id) { 
  4.                 Intent i = new Intent(MainActivity.this, FullImageActivity.class); 
  5.                  
  6.                 switch (groupPosition) { 
  7.                     case 0: //номер группы по порядку начиная с нуля 
  8.                         switch (childPosition) { 
  9.                             case 0: //номер подгруппы по порядку начиная с нуля 
  10.                                 i.putExtra("imageid", (R.drawable.mar)); 
  11.                                 startActivity(i); 
  12.                                 break; 
  13.                             case 1: 
  14.                                 i.putExtra("imageid", (R.drawable.val)); 
  15.                                 startActivity(i); 
  16.                                 break; 
  17.                             case 2: 
  18.                                 i.putExtra("imageid", (R.drawable.mur)); 
  19.                                 startActivity(i); 
  20.                                 break; 
  21.                             case 3: 
  22.                                 i.putExtra("imageid", (R.drawable.shar)); 
  23.                                 startActivity(i); 
  24.  
  25.                             default: 
  26.                                 break; 
  27.                         } 
  28.                     default: 
  29.                         break; 
  30.                 } 


Последний раз редактировалось vitek1658 29 авг 2017, 12:35, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 29 дек 2016, 14:33 
Аватар пользователя

Зарегистрирован: 15 дек 2016, 14:57
Сообщений: 13
Откуда: Volgograd
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Ребят, привет. У меня такая проблема - начиная с последних двух уроков чувствую, что информация идет тяжело, иногда вообще какие-то строки ничерта непонятны.. Скажите, что еще можно и где почитать как дополнение к этим урокам? А то мне кажется, что если я дальше по урокам буду идти вообще понимать перестану.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 29 дек 2016, 16:15 
Аватар пользователя

Зарегистрирован: 15 дек 2016, 14:57
Сообщений: 13
Откуда: Volgograd
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
А хотя, вроде наоборот :) Прошелся по паре следующих - многое прояснилось, ибо основы те же и они повторяются. :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 12 апр 2017, 10:19 

Зарегистрирован: 12 апр 2017, 10:12
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Такой вопрос на сайте указаны 4 обработчика, два для группы и два для элементов группы. Могу ли я вставить обработчик нажатия по элементу чтобы он создавал еще один элемент в этой группе, и могу ли я использовать обработчик длительного нажатия, и как мне лучше его описать?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 14 июл 2017, 12:50 

Зарегистрирован: 14 июл 2017, 12:42
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Доброго всем дня.
Спасибо создателям за проект. Очень помогает при изучении. Но теперь возник вопрос ...
Начиная с прошлого урока я поплыл и не все понимаю. Собственно сейчас вопрос такой:
Было написано: "В проекте, рядом с классом MainActivity создадим (не Activity) класс AdapterHelper" ... где нужно создавать это и что именно выбирать в android studio? Активити? Java Class? Или ещё что-то? Я не вижу такого пункта меню при выборе, как AdapterHelper и где именно "рядом с классом" нужно создавать? Можно как-то принскрин из андроид студио прикрепить, чтобы было понятно куда именно нужно заходить?
Я сделал сам урок, но в нем мне пришлось руками вводить данные в поля Package и Superclass. Я не понимаю, какое значение выбирать вместо Android или Packages, чтобы можно было в поле src добавить Class Java с автозаполненными полями. Долго искал, но ничего не нашел. Или подскажите, пожалуйста, ресурсы, где можно про подобные настройки почитать, чтобы стало понятнее.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 46. События ExpandableListView
СообщениеДобавлено: 29 авг 2017, 12:44 

Зарегистрирован: 22 ноя 2016, 09:32
Сообщений: 4
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Доброго дня!
Заполняю список вот такой конструкцией:
Код: [ Загрузить ] [ Скрыть ]
  1. public class ListData { 
  2.     public static HashMap<String, List<String>> loadData() { 
  3.         HashMap<String, List<String>> expDetails = new HashMap<>(); 
  4.  
  5.         List<String> model1 = new ArrayList<>(); 
  6.         model1.add("Shine Lite 5080X"); 
  7.         model1.add("OT-5095K POP 4S"); 
  8.         model1.add("OT-6070K Idol 4S"); 
  9.         model1.add("Python"); 
  10.         model1.add("Scala"); 
  11.  
  12.         List<String> model2 = new ArrayList<>(); 
  13.         model2.add("iPhone 4/4s"); 
  14.         model2.add("iPhone 5/5s/5SE"); 
  15.         model2.add("iPhone 5c"); 
  16.         model2.add("iPhone 6/6s"); 
  17.         model2.add("iPhone 6+/6s+"); 
  18.         model2.add("iPhone 7/7s"); 
  19.         model2.add("iPhone 7+/7s+"); 
  20.  
  21.         List<String> model3 = new ArrayList<>(); 
  22.         model3.add("ZB452KG"); 
  23.         model3.add("ZB500KL(KG)"); 
  24.         model3.add("ZB551KL"); 
  25.  
  26.         List<String> model4 = new ArrayList<>(); 
  27.         model4.add("516"); 
  28.         model4.add("526"); 
  29.         model4.add("616"); 
  30.         model4.add("626"); 
  31.         model4.add("M7"); 
  32.         model4.add("M8"); 
  33.         model4.add("M8 mini"); 
  34.  
  35.         expDetails.put("Alcatel", model1); 
  36.         expDetails.put("Apple", model2); 
  37.         expDetails.put("Asus", model3); 
  38.         expDetails.put("HTC", model4); 
  39.  
  40.         return expDetails; 
  41.     } 

Отображение элементов в списке происходит хаотично, как в группе, так и в подгруппе.
Как упорядочить эти элементы по алфавиту. Буду рад готовому коду ))).
Если это сложно, я могу перейти на другой способ заполнения списка. Вот только не нашел список с упорядочиванием.
Спасибо!


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 81 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB