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

В ListView не работает OnItemClickListener - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Import jtds-1.3.1 http://www.cyberforum.ru/android-dev/thread1422743.html
Как сделать правильный импорт в AndroidStudio? Если можно, то очень подробно распишите, ни разу не импортировал jar.... Спасибо =)
Android Google maps, построение маршрута между двумя точками кто может поделиться рабочим примером построения маршрута между двумя точками для android studio? http://www.cyberforum.ru/android-dev/thread1422641.html
Plus and Plus Android
Описание: Plus and Plus - это математическая игра. Вам предстоит получить путем сложение заданное число. Цель игры - очистить поле от цифр. Возрастные ограничения: Для всех возрастных групп. Особенности игры: 3 различных режима игры 2 цветовые гаммы Ссылка на Google play -https://play.google.com/store/apps/details?id=com.zhurinsergei.plusandplus
Смена фрагментов из контейнера жестом Android
Здравствуйте. Есть активити, в котором расположен container, два textview, кнопка. В контейнере по умолчанию расположен первый fragment. По нажатию кнопки в контейнере появляется 2 fragment. Но Хочу чтобы, с помощью жеста перелистывались фрагменты. Прочитал про view pager. Но только для смен Activity. Не нашёл для контейнера с фрагментами. Посоветуйте, пожалуйста. Добавлено через 16 часов 25...
Android Не убирается меню в андроид http://www.cyberforum.ru/android-dev/thread1422552.html
Такой вопрос. При нажатии на аппаратную клавишу меню и клике на какой-нибудь пункт, меню не убирается само. Например, при нажатии на пункт меню запускается новая Activity, затем если закрыть эту Activity меню все равно останется на экране. Т.е. приходится нажимать клавишу back, чтобы убрать меню. Такая проблема появляется только при использовании библиотеки android.support.v7(без нее не могу,...
Android Ссылка на пример кода с Navigation Drawer и вкладками SlidingTabs Привет! Подскажите, пожалуйста, ссылку на пример или разбор кода, где одновременно используются и Navigation Drawer, и вкладки под ActionBar. Только обязательно, чтобы фрагменты под вкладками заполнялись НЕ автоматически, а в них был разный контент. Например, под одной вкладкой контент с заполняемым списком, а пот второй GoogleMap. В Интернет смог найти только примеры, где содержимое всех... подробнее

Показать сообщение отдельно
edogaafx
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 42

В ListView не работает OnItemClickListener - Android

16.04.2015, 19:05. Просмотров 1020. Ответов 2
Метки (Все метки)

Здравствуйте,
Впервые попался на такую проблему, что в ListView не работает OnItemClickListener.
При клике на элемент списка, в будущем должен будет проводиться переход на фрагмент, где будет выведена доп. информация, но это в будущем, так как я застрял в самом начале.
В методе я просто стараюсь в логах вывести, как метод выполняется и Toast с позицией, на которую сделан клик.
Вот примеры кода.
Часть фрагмента, который работает со списком
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);
    }
 
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        Log.i(TAG, "onCreateView");
        View view = inflater.inflate(R.layout.fragment_event_list, container, false);
        
        //swipeRefreshLayout = (SwipeRefreshLayout)view.findViewById(R.id.swiperefresh);
        
        listView = (ListView)view.findViewById(android.R.id.list);
        
        listView.setClickable(true);
        listView.setItemsCanFocus(true);
        
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
 
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                Log.i(TAG, "onItemClick");
                Toast.makeText(context, position,
                        Toast.LENGTH_SHORT).show();
            }
        });
                
        return view; 
    }
 
@Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        Log.i(TAG, "onViewCreated");
        
        dbHelper = new DatabaseHelper(getActivity());
        try {
            dbHelper.open();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        list = dbHelper.getEvents();
        eventAdapter = new EventAdapter(list);
        setListAdapter(eventAdapter);
        
        dbHelper.close();
 
}
 
public class EventAdapter extends ArrayAdapter<Event> {
        
        public EventAdapter(ArrayList<Event> e) {
            super(getActivity(), android.R.layout.simple_list_item_1, e);
        }
        
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            Log.i(TAG, "getView");
            if(convertView == null) {
                convertView = getActivity().getLayoutInflater().inflate(R.layout.event_list_item, null);
            }
            Event event = getItem(position);
            //System.out.println("Event object in getView() " + event);
            //System.out.println("Event name: " + event.getName());
            //eventImageView = (ImageView)view.findViewById(R.id.event_list_image);
            eventNameTextView = (TextView)convertView.findViewById(R.id.event_list_name);
            eventNameTextView.setText(event.getName());
            eventNameTextView.setFocusable(false);
            eventStartDateTextView = (TextView)convertView.findViewById(R.id.event_list_date);
            eventStartDateTextView.setText(event.getStartDate()); 
            eventStartDateTextView.setFocusable(false);
            
            return convertView;
        }
        
    }
Пробовал "оживить" клики по списку с помощью всяких рекомендации, которыъ искал в гугле по данной проблеме
eventNameTextView.setFocusable(false);
listView.setClickable(true);
listView.setItemsCanFocus(true);

Ничего не помогает

Вот вьюшки.
Сам список:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- <android.support.v4.widget.SwipeRefreshLayout -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:descendantFocusability="blocksDescendants" >
    <ListView 
        android:id="@android:id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:descendantFocusability="blocksDescendants"
         />
</RelativeLayout> 
 
<!-- </android.support.v4.widget.SwipeRefreshLayout> -->
И его элементы:
XML
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
27
28
29
30
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
 
        <!-- <ImageView
            android:id="@+id/event_list_image"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:contentDescription="@string/app_name" /> -->
 
        <TextView
            android:id="@+id/event_list_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:focusableInTouchMode="false"
            android:clickable="false"
            android:focusable="false" />
 
        <TextView
            android:id="@+id/event_list_date"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clickable="false"
            android:focusable="false"
            android:focusableInTouchMode="false" />
 
</LinearLayout>
android:focusableInTouchMode="false"
android:clickable="false"
android:focusable="false"

тоже использовал ищ рекомендаций, что гугл подскозал.
Как никак, всё без успехов.

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