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

OnClickListener не может вызвать метод с MainActivity - Android

Восстановить пароль Регистрация
Другие темы раздела
Android В чем удобство ConstraintLayout? http://www.cyberforum.ru/android-dev/thread1843342.html
Уже не первый раз пытаюсь понять удобства и преимущества ConstraintLayout , но увы получается плохо. То что с помощью RelativeLayout и LinearLayout делаю за пару минут в ConstraintLayout занимает значительно больше времени и порой просто не получается. Стоит ли на него тратить время?
Android Частые повторы чисел генерируемых random Пытаюсь сгенерировать случайное число int max = 54; int min = 1; int odin = (int) (Math.random() * ++max) + min; генерирует в заданном диапазоне, но уж больно часты повторы. Например может раз пять подряд выдать одно и тоже число. Я конечно понимаю что с точки зрения теории вероятности это возможно, но закономерность заметил, повторы один за одним очень любит. Это моя ошибка при... http://www.cyberforum.ru/android-dev/thread1843337.html
Вывод изображения после нажатия кнопки Android
Можно ли вывести изображение на главный layout, после нажатия кнопки, которая расположена на нём? По нажатию первой кнопки должно появиться некое image1, а по нажатию второй - image2 вместе image 1. Нужно создавать разные layout или можно на одном вызывать только фрагменты с этими изображениями? Далее код main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
Android С андроид устройства на сервер в локальной сети
Задача: Андроид приложение с несколькими полями для ввода и кнопкой "отправить". После заполнения полей числами, и нажатия кнопки "отправить" числа должны прийти на сервер через локальную сеть, записаться в базу данных, а из базы данных экспортирыватся в Exel таблицу. У меня получилось реализовать все это но через обычный веб интерфейс ( не через приложение, а через браузер), c помощью...
Android Как уменьшить количество layouts для RecyclerView http://www.cyberforum.ru/android-dev/thread1843176.html
Здравствуйте уважаемые гуру, ситуация следующая: Делаю список на RecyclerView, нашел как можно добавить header к списку. Но нигде не могу найти, как дергать примеры из одного layout файла к примеру по id RelativeLayout. попытался сделать так в адаптере: View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.cv, viewGroup, false); View childV =...
Android Спрятать клавиатуру в EditText На экране есть несколько EditText. Нужно, чтобы при нажатии на определенный из них не выдвигалась клавиатура. Как это можно реализовать и можно ли вообще? подробнее

Показать сообщение отдельно
vadim23409
 Аватар для vadim23409
6 / 6 / 0
Регистрация: 24.09.2012
Сообщений: 378
06.11.2016, 01:07     OnClickListener не может вызвать метод с MainActivity
В MainActivity в onClickListener я могу вызвать метод selectCardFromList:
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
public class MainActivity extends AppCompatActivity {
 
    CardClickListener cardClickListener;
    UIClickListener uiClickListener;
    ListView cardsListView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        cardsListView = (ListView) findViewById(R.id.cardsListView);
 
        cardClickListener = new CardClickListener(this);
        cardsListView.setOnItemClickListener(cardClickListener);
        cardsListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                selectCardFromList(1); //работает
            }
        });
 
    testFill();
 
    }
 
public void selectCardFromList(int index)
    {
 
    }
но если я в этом же методе onCreate создаю объект класа, в котором есть onClickListener, то, даже имея ссылку, я этого сделать не могу:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class CardClickListener implements ListView.OnItemLongClickListener{
 
    private MainActivity parent;
 
    public CardClickListener(MainActivity creator)
    {
        parent = creator;
        parent.selectCardFromList(0);
    }
 
    @Override
    public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
        parent.selectCardFromList(); //даже не компилируется, ошибка
        return true;
    }
}
хотелось бы все это реализовать в отдельных классах, а не все пихать в MainActivity...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru