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

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

Войти
Регистрация
Восстановить пароль
 
qswd
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 180
#1

Не отлавливается View.OnClickListener - Программирование Android

08.09.2016, 14:13. Просмотров 145. Ответов 3
Метки нет (Все метки)

Написал следующий код, список появляется с элементами все работает.
а вот на карточку внутри списка нажатие не хочет отрабатывать.
еще и метод вызвать startActivity не могу, пишет ошибку "требуется статический метод startActivity".
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
public class SFragment extends Fragment{
 
    private static RecyclerView.Adapter adapter;
    private RecyclerView.LayoutManager layoutManager;
    private static RecyclerView recyclerView;
    private static ArrayList<Info> data;
    static View.OnClickListener myOnClickListener;
 
    public SFragment() {}
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_svodnay, container, false);
 
        myOnClickListener = new MyOnClickListener(view.getContext());
 
        recyclerView = (RecyclerView) view.findViewById(R.id.rv);
        recyclerView.setHasFixedSize(true);
 
        layoutManager = new LinearLayoutManager(view.getContext());
        recyclerView.setLayoutManager(layoutManager);
        recyclerView.setItemAnimator(new DefaultItemAnimator());
 
        data = new ArrayList<Info>();
        data.add(new Info(60.17, 58.33, 1.84, 4, 36, 11));
 
        adapter = new RVAdapter(data);
        recyclerView.setAdapter(adapter);
 
        return view;
    }
 
    private static class MyOnClickListener implements View.OnClickListener {
        private final Context context;
 
        private MyOnClickListener(Context context) {
            this.context = context;
        }
 
        @Override
        public void onClick(View view) {
            String nameClick = "";
 
            int selectedItemPosition = recyclerView.getChildPosition(view);
            RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForPosition(selectedItemPosition);
 
            TextView textViewName = (TextView) viewHolder.itemView.findViewById(R.id.name);
            nameClick = (String) textViewName.getText();
 
            startActivity(new Intent(view.getContext(), TabsActivity.class));
            Toast.makeText(view.getContext(), nameClick, Toast.LENGTH_SHORT).show();
        }
    }
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2016, 14:13     Не отлавливается View.OnClickListener
Посмотрите здесь:

OnClickListener - Программирование Android
Хочу сделать обработчик нажатий в одном блоке, но что-то идет не так на OnClick, жалуется что не используется.. Что я делаю не так? ...

OnClickListener в Андроид - Программирование Android
Всем доброго времени суток!!! Я новичок в программировании Андроид устройств. Я программирую в среде Eclipse с Android SDK tools. Вопрос...

Обработчик OnClickListener - Программирование Android
Добрый день, начал изучать интерфейсы и как оказалось в JAVA нельзя создать экземпляр интерфейса. Здесь же OnClickListener oclBtnOk =...

Как добавить OnClickListener в toast? - Программирование Android
Хочу сделать так чтоб мои Toast сообщения реагировали на клик. Попробовал так: Toast toast = new Toast(MyActivity.this); TextView...

Просьба объяснить конструкуцию OnClickListener - Программирование Android
Добрый день, есть конструкция обработки нажатия кнопки, подскажите, правильно ли я понимаю: button.setOnClickListener(new...

OnClickListener не срабатывает пояления imageView - Программирование Android
добрый день. подскажите почему не выводит ImageView. при клике на R.id.img изначально mark1 и mark2 скрыты при нажатие на img они...

Spinner и OnClickListener как использовать? - Программирование Android
Появилась ошибка - error: local variable spinner is accessed from within inner class; needs to be declared final Если String select;...

OnClickListener не может вызвать метод с MainActivity - Программирование Android
В MainActivity в onClickListener я могу вызвать метод selectCardFromList: public class MainActivity extends AppCompatActivity { ...

Не работает onClickListener для одной из девяти кнопок - Программирование Android
Появилась проблема: при нажатие одной из девяти кнопок (с одним обработчиком) не вызывается обработчик. Есть основное Activity:...

Почему onclicklistener void, а onlongclicklistener возвращает boolean? - Программирование Android
Похожие вещи, почему такое различие? как обычно используют boolean от onlongclicklistener?

Ошибка при использовании класса реализующего OnClickListener - Программирование Android
Добрый день. Создал свой листенер: public class SaveHistoryBtnListener implements View.OnClickListener { private DataBase...

Можно ли обойти запрет на назначение onclicklistener для webview - Программирование Android
Вопрос в заголовке


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
08.09.2016, 14:21     Не отлавливается View.OnClickListener #2
зачем использовать статические переменные, если понятия не имеешь как это работает и для чего?
qswd
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 180
08.09.2016, 16:06  [ТС]     Не отлавливается View.OnClickListener #3
Цитата Сообщение от Паблито Посмотреть сообщение
зачем использовать статические переменные, если понятия не имеешь как это работает и для чего?
затем что прочитал в интернет ресурсе что так делается, по примеру делал
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 932
10.09.2016, 19:56     Не отлавливается View.OnClickListener #4
qswd, по поводу не обрабатывается - когда ты нажимаешь некий view внутри другого view очень велика вероятность, что второй view блокирует первый, это подобно тому как пытаться ударить человека, который находится за другим человеком, более детально можно будет сказать, когда разметку покажешь

У тебя класс статический, откуда ты вызываешь startActivity? тебе нужно дописать context.startActivity, а вообще со статическими классами лучше не баловаться как заметили выше
Yandex
Объявления
10.09.2016, 19:56     Не отлавливается View.OnClickListener
Ответ Создать тему
Опции темы

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