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

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

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

Нажатие на элементы ListView - Программирование Android

19.12.2013, 09:45. Просмотров 858. Ответов 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 это разная информация, значит ссылки должны быть динамическими.

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

Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 09:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нажатие на элементы ListView (Программирование Android):

Длинное нажатие на ListView - Программирование Android
собственно задача проста, нужно чтобы при длинном нажатии на итеме в листвью появлялось диалоговое окно, но никак немогу найти какое ивент...

Как считать нажатие на одно из полей в ListView? - Программирование Android
Добрый день, как считать нажатие на одно из полей в listview? вставляю такой код в onCreat, но не выводит log. Что не так? ...

Как обработать нажатие на изображение в элементе listView? - Программирование Android
Как все знают, listView делится на множество элементов, нажатия на них можно обработать... Но во многих listView помимо тескат часто...

Не могу заставить OnItemClickListener, ловить нажатие на элемент списка ListView - Программирование Android
Пишу простенькое приложение по сбору цен на разные товары, сейчас пытаюсь оптимизировать часть кода который работает со списком, когда...

Как в ListView обработать нажатие кнопки и изменить здесь же значение в textView ? - Программирование Android
У меня есть ListView, у него есть своя разметка на которой находится строчки на каждой из которых Button и textView. Как мне обработать...

Нажатие на ListView - Программирование
Добрый день, уважаемые форумчане. В моем приложении элементы списка ListView генерируются программно. Я хочу, чтобы при нажатии на элемент...

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

кто-нибудь сталкивался??
0
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
21.12.2013, 21:02  [ТС] #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)



Не подскажите что не так??
0
21.12.2013, 21:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2013, 21:02
Привет! Вот еще темы с ответами:

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

Загрузить элементы в Listview - Программирование Android
public class MainActivity extends ListActivity { TextView txt; MyTask mt; List&lt;String&gt; listz; @Override ...

Как в ListView добавлять элементы - Программирование Android
всем привет есть ListView , при старте программы одна строчка занята с надписью 1 когда жмёём на кнопку то прибавляется другой 2 1 если...

Как раскрасить в цвета элементы ListView - Программирование Android
Как раскрасить в цвета элементы ListView


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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