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

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

Войти
Регистрация
Восстановить пароль
 
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
#1

Нажатие на элементы ListView - Android

19.12.2013, 09:45. Просмотров 793. Ответов 3
Метки нет (Все метки)

Всем доброго времени суток.
Коллеги, помогите решить проблему.

Структура приложения:
Data.java
Java
1
2
3
public class Data extends Application{
    final static String[] list1 = new String[] { "item1", "item2", "item3"};
    final static String[] list2 = new String[] { "item1", "item2", "item3"};
MainActivity.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class MainActivity extends Activity{
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
            ImageView img1 = (ImageView) findViewById(R.id.imageView3);
            img1.setOnClickListener(new OnClickListener() {
                 
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    PsyList.t = Data.list1;
                    PsyList.b = R.drawable.backgr1;
                    Intent int1 = new Intent(MainActivity.this, PsyList.class);
                    startActivity(int1);
                }
            }); 
            ImageView img2 = (ImageView) findViewById(R.id.imageView4);
            img2.setOnClickListener(new OnClickListener() {
                 
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    PsyList.t = Data.list2;
                    PsyList.b = R.drawable.backgr2;
                    Intent int1 = new Intent(MainActivity.this, PsyList.class);
                    startActivity(int1);
                }
            });
То есть при нажатии на img1 отображается список1, при нажатии img2 отображается список2 в активити PsyList

Не могу найти в интернете нормальных тутариалов, чтобы item были кликабельные, но при этом надо понимать, что list1и list2 это разная информация, значит ссылки должны быть динамическими.

Подскажите где посмотреть правильное решение, может кто-то сталкивался??

Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 09:45     Нажатие на элементы ListView
Посмотрите здесь:

Android Длинное нажатие на ListView
Android Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ?
Переход из Listview в Listview Android
Загрузить элементы в Listview Android
Как из AsyncTask Добавить элементы в ListView Android
Android Как в ListView добавлять элементы
Нажатие ImageButton Android
Android Не могу заставить OnItemClickListener, ловить нажатие на элемент списка ListView
Нажатие на элементы ExpandableListView Android
Как считать нажатие на одно из полей в ListView? Android
Как раскрасить в цвета элементы ListView Android
Как обработать нажатие на изображение в элементе listView? Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kirawa
33 / 33 / 1
Регистрация: 12.11.2013
Сообщений: 336
19.12.2013, 12:36     Нажатие на элементы ListView #2
OnItemClickListener КАПАЙ СУДА
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
19.12.2013, 13:16  [ТС]     Нажатие на элементы ListView #3
Цитата Сообщение от kirawa Посмотреть сообщение
OnItemClickListener КАПАЙ СУДА
Капаю. Проблема в том, что у меня динамичный список. Привязывать клики к номеру item никак нельзя. Может быть можно задать условия, что то типа
[логика] если текст в item = текст1 то открыть активити такое то и т.д. [/логика]

кто-нибудь сталкивался??
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
21.12.2013, 21:02  [ТС]     Нажатие на элементы ListView #4
Цитата Сообщение от kirawa Посмотреть сообщение
OnItemClickListener
Коллеги, сделал вот так
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
final Intent int1 = new Intent(PsyList.this, WView.class);
        
        lvMain.setOnItemClickListener(new OnItemClickListener()
        {
            @Override 
            public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3)
            {
                boolean str = ((TextView)arg1).getText().toString() != null;
                
                if  (str = "item1" != null ) {
                    startActivity(int1);
                } 
//              else { return;} 
//              Toast.makeText(PsyList.this, str, Toast.LENGTH_SHORT).show();
            }
        });
Активити закрывается с ошибками:
Кликните здесь для просмотра всего текста
12-21 22:58:55.082: W/dalvikvm(31526): threadid=1: thread exiting with uncaught exception (group=0x40c03930)
12-21 22:58:55.092: E/AndroidRuntime(31526): FATAL EXCEPTION: main
12-21 22:58:55.092: E/AndroidRuntime(31526): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.site.application/com.site.application.WView}: java.lang.ClassCastException: android.widget.Space cannot be cast to android.view.ViewGroup
12-21 22:58:55.092: E/AndroidRuntime(31526): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
12-21 22:58:55.092: E/AndroidRuntime(31526): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2357)
12-21 22:58:55.092: E/AndroidRuntime(31526): at android.app.ActivityThread.access$600(ActivityThread.java:153)
12-21 22:58:55.092: E/AndroidRuntime(31526): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
12-21 22:58:55.092: E/AndroidRuntime(31526): at android.os.Handler.dispatchMessage(Handler.java:99)
12-21 22:58:55.092: E/AndroidRuntime(31526): at android.os.Looper.loop(Looper.java:137)
12-21 22:58:55.092: E/AndroidRuntime(31526): at android.app.ActivityThread.main(ActivityThread.java:5226)
12-21 22:58:55.092: E/AndroidRuntime(31526): at java.lang.reflect.Method.invokeNative(Native Method)
12-21 22:58:55.092: E/AndroidRuntime(31526): at java.lang.reflect.Method.invoke(Method.java:511)
12-21 22:58:55.092: E/AndroidRuntime(31526): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
12-21 22:58:55.092: E/AndroidRuntime(31526): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
12-21 22:58:55.092: E/AndroidRuntime(31526): at dalvik.system.NativeStart.main(Native Method)



Не подскажите что не так??
Yandex
Объявления
21.12.2013, 21:02     Нажатие на элементы ListView
Ответ Создать тему
Опции темы

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