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

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

Войти
Регистрация
Восстановить пароль
 
Shamsik
-42 / 17 / 5
Регистрация: 23.12.2013
Сообщений: 521
Записей в блоге: 1
Завершенные тесты: 2
#1

RecyclerView click - Android

10.04.2016, 02:01. Просмотров 513. Ответов 2
Метки нет (Все метки)

Добрый ночи. ребята как при клики зафиксировать блок.

Java
1
2
3
4
5
6
7
8
9
recView.addOnItemTouchListener(
                new RecyclerItemClickListener(getActivity(), new RecyclerItemClickListener.OnItemClickListener() {
                    @Override
                    public void onItemClick(View view, int position)
                    {
                        Toast.makeText(getActivity(),"sss",Toast.LENGTH_LONG).show();
                    }
                })
        );
Кликните здесь для просмотра всего текста

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
public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {
    private OnItemClickListener mListener;
 
    public interface OnItemClickListener {
        public void onItemClick(View view, int position);
    }
 
    GestureDetector mGestureDetector;
 
    public RecyclerItemClickListener(Context context, OnItemClickListener listener) {
        mListener = listener;
        mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
            @Override
            public boolean onSingleTapUp(MotionEvent e) {
                return true;
            }
        });
    }
 
    @Override
    public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) {
        View childView = view.findChildViewUnder(e.getX(), e.getY());
        if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) {
            mListener.onItemClick(childView, view.getChildAdapterPosition(childView));
        }
        return false;
    }
 
    @Override
    public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) {
    }
 
    @Override
    public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
 
    }
}


Он как бы работает но при нажатии не фиксируется(не выделяется) блок как это делается в ListView.


Как сделать так, подскажите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2016, 02:01     RecyclerView click
Посмотрите здесь:

Android FloatingButton + RecyclerView+ RefreshLayout
RecyclerView создание Item Click Listener Android
Обновление содержимого Recyclerview Android
Android RecyclerView и SQLite
RecyclerView Android
Android Recyclerview click fixed
Retrofit Recyclerview Android
Android Принцип работы RecyclerView
Android Android fragment + recyclerView
Android Recyclerview-stickyheaders
RecyclerView и SQLite Android
Пример fragments and RecyclerView Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MonStar
19 / 19 / 3
Регистрация: 10.04.2011
Сообщений: 225
10.04.2016, 13:07     RecyclerView click #2
RecyclerView сам по себе не поддерживает нажатие по айтемам списка, нужно вешать на каждый итем отдельный слушатель. Соответственно и состояния эти обрабатывать ручками.
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
10.04.2016, 13:19     RecyclerView click #3
Shamsik, а чтобы был эффект нажатия по material design, надо использовать Cardview
Yandex
Объявления
10.04.2016, 13:19     RecyclerView click
Ответ Создать тему
Опции темы

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