溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Button在Fragment中的狀態(tài)保存

發(fā)布時間:2024-08-31 15:49:37 來源:億速云 閱讀:83 作者:小樊 欄目:移動開發(fā)

在Android中,當屏幕旋轉(zhuǎn)或者發(fā)生其他配置變化時,系統(tǒng)會銷毀并重新創(chuàng)建Activity和Fragment。為了保存Button的狀態(tài),你需要在Fragment中實現(xiàn)onSaveInstanceState()方法來保存狀態(tài),然后在onCreateView()方法中恢復狀態(tài)。以下是一個簡單的示例:

  1. 首先,在你的Fragment類中定義一個常量,用于保存Button的狀態(tài):
private static final String KEY_BUTTON_STATE = "button_state";
  1. onSaveInstanceState()方法中保存Button的狀態(tài):
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
    super.onSaveInstanceState(outState);
    // 保存Button的狀態(tài),例如是否被選中
    outState.putBoolean(KEY_BUTTON_STATE, yourButton.isChecked());
}
  1. onCreateView()方法中恢復Button的狀態(tài):
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.your_fragment_layout, container, false);
    yourButton = view.findViewById(R.id.your_button);
    
    if (savedInstanceState != null) {
        // 恢復Button的狀態(tài)
        boolean buttonState = savedInstanceState.getBoolean(KEY_BUTTON_STATE);
        yourButton.setChecked(buttonState);
    }
    
    return view;
}

這樣,當屏幕旋轉(zhuǎn)或發(fā)生其他配置變化時,Button的狀態(tài)將被保存并恢復。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI