Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
#1

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

19.12.2013, 09:45. Просмотров 921. Ответов 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
собственно задача проста, нужно чтобы при длинном нажатии на итеме в листвью...

Как считать нажатие на одно из полей в ListView?
Добрый день, как считать нажатие на одно из полей в listview? вставляю...

Как обработать нажатие на изображение в элементе listView?
Как все знают, listView делится на множество элементов, нажатия на них можно...

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

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

3
kirawa
35 / 35 / 2
Регистрация: 12.11.2013
Сообщений: 343
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2013, 21:02

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

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

Нажатие на элементы ExpandableListView
Добрый день. У меня есть ExpandableListView в нём сделан...


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

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

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