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

Прослушать ExpandableListView - Android

Восстановить пароль Регистрация
 
RosPC
-6 / 3 / 0
Регистрация: 21.09.2012
Сообщений: 80
06.11.2012, 15:38     Прослушать ExpandableListView #1
Здраствуйте, у меня есть код прослушки, он работает! но мне нужно вытянуть текст который находитса в етом 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>


Зарание спасибо!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
06.11.2012, 15:55     Прослушать ExpandableListView #2
Java
1
2
3
RelativeLayout relativeLayout = (RelativeLayout )v;
TextView textView = v.findViewById(R.id.textChild);
String strText = textView.getText().toString();
RosPC
-6 / 3 / 0
Регистрация: 21.09.2012
Сообщений: 80
06.11.2012, 16:03  [ТС]     Прослушать ExpandableListView #3
Цитата Сообщение от V0v1k Посмотреть сообщение
Java
1
2
3
RelativeLayout relativeLayout = (RelativeLayout )v;
TextView textView = v.findViewById(R.id.textChild);
String strText = textView.getText().toString();
спасибо!
mcGurov
 Аватар для mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 98
25.07.2015, 00:54     Прослушать ExpandableListView #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();
androbro
312 / 272 / 51
Регистрация: 17.10.2014
Сообщений: 819
25.07.2015, 11:27     Прослушать ExpandableListView #5
mcGurov, потому что скорее всего
Java
1
strText == null
mcGurov
 Аватар для mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 98
25.07.2015, 14:31     Прослушать ExpandableListView #6
androbro, так и не могу этого понять, ведь в списке то слово отображается, почему null, ведь простой код...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2015, 19:38     Прослушать ExpandableListView
Еще ссылки по теме:

Нажатие на элементы ExpandableListView Android
Android Обновление состояния ExpandableListView
Android ExpandableListView обновление данных
OnClick ExpandableListView Android
Android Обработка событий в ExpandableListView

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

Или воспользуйтесь поиском по форуму:
mcGurov
 Аватар для mcGurov
3 / 3 / 0
Регистрация: 30.07.2013
Сообщений: 98
26.07.2015, 19:38     Прослушать ExpandableListView #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, и когда в нём начинаю набирать слово, то позиции групп и "детей" меняются, поэтому важно извлекать именно слово... может кому-нибудь пригодится...
Yandex
Объявления
26.07.2015, 19:38     Прослушать ExpandableListView
Ответ Создать тему
Опции темы

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