Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 01.02.2018
Сообщений: 133

Отслеживание нажатий RecyclerView в диалогом окне

20.04.2019, 23:41. Показов 1314. Ответов 2

Студворк — интернет-сервис помощи студентам
Создал диалоговое окно в которое заношу в view recyclerview
адаптер recyclerview:
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
public class ListAdap extends RecyclerView.Adapter<ListAdap.ViewHolder>
{
    private LayoutInflater inflater;
    private List<String> mas;
    private Boolean[] znach;
    private final String tag = "musik";
    private ItemClickListener mClickListener;
    public ListAdap(Context context, List<String> mas, Boolean[] znach)
    {
        this.inflater = LayoutInflater.from(context);
        this.mas = mas;
        this.znach = znach;
    }
    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View view = inflater.inflate(R.layout.liststring,viewGroup,false);
        Log.i(tag,"ocreateviewholder " + i);
        return new ViewHolder(view);
    }
 
    @Override
    public void onBindViewHolder(ViewHolder viewHolder, int i) {
        String text = mas.get(i);
        viewHolder.textView.setText(text);
        Log.i(tag,"ocbindviewholder " + i);
    }
 
    @Override
    public int getItemCount() {
        return mas.size();
    }
 
    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener
    {
        TextView textView;
        CheckBox box;
 
        public ViewHolder(View itemView) {
            super(itemView);
            textView = (TextView) itemView.findViewById(R.id.texting);
            box = (CheckBox) itemView.findViewById(R.id.check);
            Log.i(tag,"viewholder.");
        }
        @Override
        public void onClick(View v) {
            if (mClickListener != null) mClickListener.onItemClick(v,getAdapterPosition());
            Log.i(tag,"click");
        }
 
    }
 
    public void setClickListener(ItemClickListener itemClickListener) {
        this.mClickListener = itemClickListener;
    }
 
    public interface ItemClickListener {
        void onItemClick(View view, int position);
    }
}
создание окна:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
AlertDialog.Builder alert = new AlertDialog.Builder(this);
            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View v = inflater.inflate(R.layout.dialogs, null);
            RecyclerView recyclerView = (RecyclerView) v.findViewById(R.id.list);
            recyclerView.setLayoutManager(new LinearLayoutManager(this));
            String[] arrays = getResources().getStringArray(R.array.nam_sound);
            ArrayList<String> arrayAdapter = new ArrayList<String>(Arrays.asList(arrays));
            ListAdap adapter = new ListAdap(this,arrayAdapter,muschek);
            recyclerView.setAdapter(adapter);
            recyclerView.addItemDecoration(new DividerItemDecoration(v.getContext(),
                    DividerItemDecoration.VERTICAL));
            adapter.setClickListener(new ListAdap.ItemClickListener() {
                @Override
                public void onItemClick(View view, int position) {
                    Log.i("musik","clock " + position);
                }
            });
            alert.setView(v);
           return alert.create();
Пытаюсь отслеживать нажатия, но ничего не выходит? Что не так, и как все таки отследить нажатие
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2019, 23:41
Ответы с готовыми решениями:

В чём разница между обработчиками нажатий RecyclerView через OnItemTouchListener и в адаптере?
Доброго дня. Существуют два способа написания обработчика кликов по элементам RecyclerView. Оба без проблем находятся в поисковиках....

Advanced RecyclerView и Expandable RecyclerView
Сделал expandable recycler view на основе advancedRecyclerView сборочки, но не важно это думаю, наследуется от обычного RecyclerView. ...

Открытие документа в диалогом окне
Хочется из представления информацию о документе открывать в диалоговом окне в режиме чтения, с возможностью входа в режим редактирования...

2
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
21.04.2019, 00:38
Зачем это всё? В алерт можно сразу какой-нибудь адаптер положить и клик по итемам будет идти в билдере из коробки.
Слушатель тут вообще какой-то непостижимый для меня.
0
0 / 0 / 0
Регистрация: 01.02.2018
Сообщений: 133
21.04.2019, 12:28  [ТС]
ExFau$t, Я не совсем вас понимаю, можете что ли "разжевать" или скинуть пример?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2019, 12:28
Помогаю со студенческими работами здесь

Как можно чтобы в диалогом окне были кнопки Yes и NO?
Добрый день! Может кто-то сталкивался с такой задачей: ' в диалогово окне вместо стандартных кнопок Ok и Cancel, показвать кнопки Yes и...

Отслеживание нажатий на клавиатуру
Люди! Прорыл весь список АПИ-шок, но не нашел. Возможно я чтото пропустил, но к сожалению проблему решить не удалось. Ближе к делу... ...

Отслеживание нажатий по активным элементам
Добрый день. Ситуация такая. Программа забита плеерами(axShockwaveFlash1).Забита, это значит, что при старте программы создается 25...

Отслеживание нажатий комбинаций клавиш
Здравстуйте. Подскажите пожалуйста как можно отследить нажатие клавиш fn + (f1, .. ,f12) с помощью C#. KeyPress event не видит комбинаций...

Отслеживание нажатий на экран (android)
Как отслеживать нажатие на экран и получить координаты этого нажатия. Программирую под андроид


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru