Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

08.09.2016, 14:13. Просмотров 179. Ответов 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();
        }
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2016, 14:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не отлавливается View.OnClickListener (Программирование Android):

В чем разница (View view) и (View v) - Программирование Android
Я только начинаю изучать программирование под андроид (до этого вобще программированием не занимался), по гуглу удалось найти только...

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

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

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

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

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

3
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
08.09.2016, 14:21 #2
зачем использовать статические переменные, если понятия не имеешь как это работает и для чего?
0
qswd
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 188
08.09.2016, 16:06  [ТС] #3
Цитата Сообщение от Паблито Посмотреть сообщение
зачем использовать статические переменные, если понятия не имеешь как это работает и для чего?
затем что прочитал в интернет ресурсе что так делается, по примеру делал
0
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 934
10.09.2016, 19:56 #4
qswd, по поводу не обрабатывается - когда ты нажимаешь некий view внутри другого view очень велика вероятность, что второй view блокирует первый, это подобно тому как пытаться ударить человека, который находится за другим человеком, более детально можно будет сказать, когда разметку покажешь

У тебя класс статический, откуда ты вызываешь startActivity? тебе нужно дописать context.startActivity, а вообще со статическими классами лучше не баловаться как заметили выше
0
10.09.2016, 19:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2016, 19:56
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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