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

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

Войти
Регистрация
Восстановить пароль
 
RosPC
-6 / 3 / 0
Регистрация: 21.09.2012
Сообщений: 80
#1

Прослушать ExpandableListView - Программирование Android

06.11.2012, 15:38. Просмотров 962. Ответов 6
Метки нет (Все метки)

Здраствуйте, у меня есть код прослушки, он работает! но мне нужно вытянуть текст который находитса в етом chold_view

код:
Java
1
2
3
4
5
6
7
8
9
10
  listView.setOnChildClickListener(new OnChildClickListener() {
            public boolean onChildClick(ExpandableListView parent, View v,
                    int groupPosition,   int childPosition, long id) {
                TextView textView = (TextView) v;
                String strText = textView.getText().toString(); 
                startMess(strText);
                  return false;
                }
              });
           }
разметка chold_view:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<TextView
android:id="@+id/textChild"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="20dp"

/>

</RelativeLayout>


Зарание спасибо!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 15:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прослушать ExpandableListView (Программирование Android):

Прослушать на клик LinearLayout - Программирование Android
Здраствуйте, у меня есть LinearLayout со своими компонентами внутри... я ево несколько раз добавляю в активити, тойсть делаю список... как...

прослушать денамично добавленые кнопки - Программирование Android
подскажыте как прослушать денамично добавленые кнопки вот код добавления: btnNew = new Button(this); ...

ExpandableListView - Программирование Android
Подскажите как быть, есть список груп(допустим их всего 3) и есть список дочерних элементов у каждой группы свой. допустим мы развернули...

ExpandableListView - Программирование Android
Доброго времени суток! Пытаюсь сделать подсветку элементов ExpandableListView по аналогии с ListView &lt;ExpandableListView ...

OnClick ExpandableListView - Программирование Android
Пример для ItemList, который нашел в интернете. listview.setOnItemClickListener(new OnItemClickListener(){ @Override ...

ExpandableListView не скролит - Программирование Android
Есть разметка, которая содержит последним элементом ExpandableListView (кастомизирую его). &lt;?xml version=&quot;1.0&quot;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.11.2012, 15:55 #2
Java
1
2
3
RelativeLayout relativeLayout = (RelativeLayout )v;
TextView textView = v.findViewById(R.id.textChild);
String strText = textView.getText().toString();
1
RosPC
-6 / 3 / 0
Регистрация: 21.09.2012
Сообщений: 80
06.11.2012, 16:03  [ТС] #3
Цитата Сообщение от V0v1k Посмотреть сообщение
Java
1
2
3
RelativeLayout relativeLayout = (RelativeLayout )v;
TextView textView = v.findViewById(R.id.textChild);
String strText = textView.getText().toString();
спасибо!
0
mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 100
25.07.2015, 00:54 #4
Такая же проблема, как вытянуть текст из выбранного элемента, и сравнив текст запустить нужную активность?

Код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 // нажатие на элемент
        mExpandableListView.setOnChildClickListener(new OnChildClickListener() {
 
            public boolean onChildClick(ExpandableListView parent, View v,
                                        int groupPosition, int childPosition, long id) {
 
                RelativeLayout relativeLayout = (RelativeLayout)v;
                TextView textView = (TextView) v.findViewById(R.id.textChild);
                String strText = textView.getText().toString(); // получаем текст нажатого элемента
 
                //общее:
                if (strText == "Общее") {Intent i = new Intent(Shrimp.this, Anabas.class);startActivity(i);};
 
 
                return false;
            }
        });
Добавлено через 1 минуту
Ошибка
java.lang.NullPointerException
at invertebrates.Shrimp$1.onChildClick(Shrimp.java:70)
at android.widget.ExpandableListView.handleItemClick(ExpandableListView.java:590)
at android.widget.ExpandableListView.performItemClick(ExpandableListView.java:522)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3071)
at android.widget.AbsListView$1.run(AbsListView.java:3973)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4867)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
at dalvik.system.NativeStart.main(Native Method)

Добавлено через 43 минуты
И почему то ошибка именно в строке
Java
1
String strText = textView.getText().toString();
0
androbro
326 / 286 / 60
Регистрация: 17.10.2014
Сообщений: 843
25.07.2015, 11:27 #5
mcGurov, потому что скорее всего
Java
1
strText == null
1
mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 100
25.07.2015, 14:31 #6
androbro, так и не могу этого понять, ведь в списке то слово отображается, почему null, ведь простой код...
0
mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 100
26.07.2015, 19:38 #7
Подправил код и всё заработало...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// нажатие на элемент
        mExpandableListView.setOnChildClickListener(new OnChildClickListener() {
 
            public boolean onChildClick(ExpandableListView parent, View convertView,
                                        int groupPosition, int childPosition, long id) {
 
                RelativeLayout relativeLayout = (RelativeLayout )convertView;
                TextView textView = (TextView) relativeLayout.findViewById(R.id.namerow);
 
                String childText = textView.getText().toString(); // получаем текст нажатого элемента
                //общее:
                if (childText == "Общее") {Intent i = new Intent(Main.this, Second.class);startActivity(i);};
 
                return false;
            }
 
        });
У меня просто сделан поиск по ExpandableListView, и когда в нём начинаю набирать слово, то позиции групп и "детей" меняются, поэтому важно извлекать именно слово... может кому-нибудь пригодится...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2015, 19:38
Привет! Вот еще темы с ответами:

Нажатие на элементы ExpandableListView - Программирование Android
Добрый день. У меня есть ExpandableListView в нём сделан setOnChildClickListener получается так, что в item элемент списка может быть...

Обновление состояния ExpandableListView - Программирование Android
Есть кнопка при нажатии на которою в БД добавляется запись. Все записи с БД отображаются в ExpandableListView. Обновляю, с помощью...

Открытие групп в ExpandableListView - Программирование Android
Как сделать,чтобы при переходе на активити группы уже были открыты? ExpandableListView elv = (ExpandableListView)...

ExpandableListView обновление данных - Программирование Android
Каким образом мне обновить его? Чтобы я изменил данные массива и обновил. Объявили переменные public class MainActivity ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.07.2015, 19:38
Ответ Создать тему
Опции темы

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