Изменение view через DialogFragment/RecyclerViewApadapter/AlertDialog

294
05 мая 2017, 16:55

Приветствую, пытался реализовать настройки, иерархия получилась большая.

У меня в главной активити есть TextView, в этой активити я вызываю DialogFragment, DialogFragment содержит в себе RecyclerView который отображает список настроек через свой адаптер. В этом адаптере я реализовал метод onClick в котором вызываю AlertDialog:

 viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            AlertDialog.Builder alt_bld = new AlertDialog.Builder(view.getContext());

Получилось так: MainActivity/DialogFragment/RecyclerViewAdapter/AlertDialog

Вопрос: Как мне из моего AlertDialoga поменять, например, размер моего TextView в главной активити?

Answer 1

Есть стандартный паттерн взаимодействия фрагмента с Activity или другими фрагментами.

Он заключается в том, чтобы во фрагменте должен быть декларирован интерфейс, который имплементируется тем, кто хочет взаимодействовать с фрагментом, типа:

public class MyFragment extends Fragment {
   //blah-blah
   public interface MyFragmentListener {
       public void onFragmentSomethingHappens();
       public void onFragmentYetAnotherHappens();
   } 
}

В Activity или другом фрагменте делаем так

public class MyActivity extends Activity implements MyFragment.MyFragmentListener {
    //blah-blah
    public void onFragmentSomethingHappens() {
         //blah-blah
    }
}

Собственно говоря все. При создании адаптера, получить ссылку на фрагмент, это достаточно просто, далее вызываем метод интерфейса фрагмента, по которому в Activity что-то происходит - в вашем случае изменение размера TextView

READ ALSO
Запуск Minecraft из Терминала

Запуск Minecraft из Терминала

Решил я написать лаунчер на JS

262
Как передать ссылку на массив объектов в другой объект?

Как передать ссылку на массив объектов в другой объект?

Есть класс (пусть будет А), в нём есть массив

254
Сервер на java для android [требует правки]

Сервер на java для android [требует правки]

Всем привет! Уважаемые, я начинающий разработчик и хочу поработать над созданием своего сервера, для работы с мобильными приложениями под...

370