onResume()
私はあなたをオーバーライドしFragment
、そこでUiSettings
インスタンスを取得し、次のような関数に値を適用します
button.setVisibility(uiSettings.showButton ? View.VISIBLE : View.GONE);
したがって、合計で、コードに追加します
@Override
public void onResume() {
super.onResume();
button.setVisibility(uiSettings.showButton ? View.VISIBLE : View.GONE);
}
UiSettings
のクラスの外側にクラスを作成し、セッターを変数にFragment
適用し、そのセッターで、作成するインターフェイスを介してボタンの可視性を変更することもお勧めします (基本的にデータバインディング二つ)。public
showButton
Fragment's
インターフェイスは次のようになります
public interface Binding {
dataChanged();
}
それでUiSettings
public class UiSettings {
public Binding binder;
private boolean showButton;
public void setShowButton(boolean showButton) {
this.showButton = showButton;
if (binder != null) {
binder.dataChanged();
}
}
public boolean getShowButton() {
return showButton;
}
}
そして、あなたのフラグメントはそれimplement
Binding
に追加されます
@Override
public void dataChanged() {
button.setVisibility(uiSettings.getShowButton() ? View.VISIBLE : View.GONE);
}