Android Studio中configure Activity的TextView显示异常问题求助
问题根因
你遇到的TextView消失问题核心原因是SharedPreferences存储和读取的实例不统一:
- 保存数据的
senddata方法中,你使用PreferenceManager.getDefaultSharedPreferences(configure.this)初始化存储实例,数据会写入系统默认的SharedPreferences文件 - 读取数据的
loaddata方法中,你使用getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE)初始化存储实例,会读取自定义名为MyPrefs的独立存储文件
存和读对应两个完全独立的存储空间,因此每次重新进入Activity时读出来的文本是空值,TextView就会显示为空。
修复方案
只需统一SharedPreferences的初始化逻辑即可,推荐统一使用你自定义的MyPrefs存储:
修改senddata方法中的SharedPreferences初始化代码:
// 替换掉原来的 PreferenceManager.getDefaultSharedPreferences(configure.this) sharedPreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
额外优化建议
- IP输入框
et1的inputType当前设置为number,无法输入IP地址需要的.符号,建议修改为numberDecimal或者text - TextView
tv2的字体大小单位用了20dp,推荐改为20sp,适配系统字体大小调整 - 可以在
onResume生命周期方法中也调用loaddata()和updateviews(),保证每次回到该Activity都会加载最新的存储数据
内容的提问来源于stack exchange,提问作者dheeraj sharma
相关产品推荐
相关产品推荐

