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

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...
Программирование Android С андроид устройства на сервер в локальной сети
Задача: Андроид приложение с несколькими полями для ввода и кнопкой "отправить". После заполнения полей числами, и нажатия кнопки "отправить" числа должны прийти на сервер через локальную сеть,...
Программирование Android Как уменьшить количество layouts для RecyclerView http://www.cyberforum.ru/android-dev/thread1843176.html
Здравствуйте уважаемые гуру, ситуация следующая: Делаю список на RecyclerView, нашел как можно добавить header к списку. Но нигде не могу найти, как дергать примеры из одного layout файла к примеру...
Программирование Android Спрятать клавиатуру в EditText На экране есть несколько EditText. Нужно, чтобы при нажатии на определенный из них не выдвигалась клавиатура. Как это можно реализовать и можно ли вообще? подробнее

Показать сообщение отдельно
vadim23409
6 / 6 / 0
Регистрация: 24.09.2012
Сообщений: 381

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

06.11.2016, 01:07. Просмотров 204. Ответов 3
Метки (Все метки)

В 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...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru