smile908

导航

安卓之按钮状态的保存

1:首先定义全局变量。作为按钮状态的一个保存
//rawData是否上传的全局状态
public static boolean rawDataStatus=false;


2:点击按钮时,在onClick方法中·实现按钮点击的开关的切换
//rawData 点击改变rawData的状态值
else if(v.getId()==R.id.btn_rawData){
if (Constants.rawDataStatus == false){
viewBinding.btnRawData.setBackgroundResource(R.drawable.btn_open);
Constants.rawDataStatus = true;
}else {
viewBinding.btnRawData.setBackgroundResource(R.drawable.btn_close);
Constants.rawDataStatus = false;
}
}

3:需要点击上传按钮保存按钮的状态,按钮状态默认是false,如果点击了true,然后点击的上传按钮,这个上传按钮可以理解为
按钮的状态保存的一个操作,在其他的行为中也可以在一个事件中作为保存的操作
else if (v.getId() == R.id.upload) {
//保存按钮状态
savaButtonStatus();

4:在点击上传按钮后,执行savaButtonStatus()这个方法。
这个方法的功能是将按钮此刻的一个状态写入文件中。以便于下次或者app重启时直接进入按钮的这个状态。
//保存按钮属性
private void savaButtonStatus() {
SharedPreferences sharedPreferences = getContext().getSharedPreferences("OnItemHiddenClick", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(Constants.KEY_BUTTON_STATUS,Constants.rawDataStatus);
editor.commit();
}

5:我们需要在fragment或者activity在进行页面的一个初始化中,在文件中读入按钮保存的一个状态,将文件中的一个
状态设置到页面的按钮控件上。
//从文件中读取按钮的状态,并设置到按钮上进行显示
SharedPreferences rawDataSP = getContext().getSharedPreferences("OnItemHiddenClick", Context.MODE_PRIVATE);
Boolean buttonStatus = rawDataSP.getBoolean(Constants.KEY_BUTTON_STATUS,false);
if (buttonStatus){
viewBinding.btnRawData.setBackgroundResource(R.drawable.btn_open);
Constants.rawDataStatus=true;
}
在页面中初始化过程中,我们会从文件中读取按钮的一个状态,当然这个状态只有打开和关闭,也就是true和false。我们默认是
false,如果文件中保存的是true,我们将会进行一个设置。

这样,我们按钮的一个状态保存就完成了。



posted on 2022-10-27 09:37  smile908  阅读(119)  评论(0编辑  收藏  举报