У меня активность содержит фрагмент. При нажатии кнопки в этом фрагменте, у меня должны измениться состояния View в макете активности. В активности у меня есть готовый метод, который будет делать это. Но как мне это реализовать, чтобы при нажатии по этой кнопки, вызывался бы метод активности?
Это можно сделать через интерфейс (назовем MyCallback). Создаете интерфейс с названием вашего метода (можно внутри вашего фрагмента).
public interface MyCallback{
void method();
}
Вашу активити наследуете от этого интерфейса.
public class MyActivity extends AppCompatActivity implements MyCallback {
@ovveride
public void method(){
//логика
}
}
В фрагменте создаете объект данного типа и делаете
@Override
public class MyFragment extends Fragment {
private MyCallback myCallback;
@Override
public void onAttach(Context context) {
super.onAttach(context);
myCallback = (MyCallback) context;
}
}
Ну и вызовите метод myCallback.method()
где вам надо во фрагмете
Объявляешь интерфейс с методами которые тебе необходимо выполнять в Activity:
interface FragmentActions {
void doSomething();
}
Имплементируешь интерфейс в Activity:
class MainActivity extend Activity implement FragmentActions {
override void doSomething(){
... Вызываешь свои методы реализованные в активности
}
}
Вызываешь метод во фрагменте:
class MainFragment extend Fragment {
private FragmentActions listener;
override void onAttach(Context context){
super.onAttach(context)
listener = (FragmentActions)context;
}
override void onViewCreated(...){
btn.setOnClickListener(()->listener.doSomething())
}
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Пытаюсь развернуть вэб приложение на хостинге(там стоит томкат)По умолчанию tomcat предоставляет контекст к приложению равный имени war'ника,...
Как возможно приблизить карту сразу по местности, а именно, если как на примере маркеры находятся в одном городе, то сразу открывать приближенную...