Как управлять кнопкой из другого фрагмента? - PullRequest
0 голосов
/ 12 июля 2020

я использую несколько фрагментов, один из фрагментов содержит 2 кнопки, один из них setenabled(False) как я могу сделать setenabled(True) из другого фрагмента? это возможно?

Ответы [ 2 ]

0 голосов
/ 12 июля 2020

Я бы не рекомендовал использовать общие настройки. Предположим, у вас есть FragmentA с кнопками и FragmentB. чтобы включить кнопки в FragmentA из FragmentB, я бы создал Custom listener, у которого есть функция setEnabled (когда она вызывается, она активирует кнопку в FragmentA) во fragmentA, мы хотим передать этого слушателя FragmentB. Когда и событие происходит в FragmentB, которое вы хотите, чтобы он запускал setEnable для FragmentA, я бы назвал listener.setEnable, который включит кнопку в fragmentA во FragmentB

0 голосов
/ 12 июля 2020

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

Другой простой способ использования sharepreference и когда вы выполните некоторые действия в других ваших фрагментах, обновите свой sharepreference, а затем просто получите эти данные общего доступа в ваших первых фрагментах и ​​соответствующим образом обновите свои представления.

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();

editor.putBoolean ("key", true); editor.apply ();

затем получите свою долю в первом фрагменте и скройте свое представление

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);

boolean name = prefs.getBoolean ("key", false);

if (name) {скрыть свои взгляды в этом блоке}

...