Fragment中EditText文字的记忆性
来源:互联网 发布:as3.0 外部js接口 编辑:程序博客网 时间:2024/06/05 06:07
Fragment中EditText文字的记忆性
遇到问题
第一次加载Fragment时,给EditText赋值后”value1”,popBackStack()后,重新加载这个Fragment,并且给EditText赋值为“value2”,可是页面上显示EditText仍然为“value1”。
RegisterActivity.java内
if (fragmentStep1 == null) { fragmentStep1 = new FragmentRegisterStep1(); fragmentStep1.setStep1Listener(this); } fragmentStep1.setMobile(mobile); tx.replace(R.id.id_content, fragmentStep1, "FragmentRegisterStep1");
FragmentRegisterStep1.java内
- 错误写法:
@Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); 。。。 mobileEt.setText(mobile); }
错误原因
Fragment.java源码
/** * Called when all saved state has been restored into the view hierarchy * of the fragment. This can be used to do initialization based on saved * state that you are letting the view hierarchy track itself, such as * whether check box widgets are currently checked. This is called * after {@link #onActivityCreated(Bundle)} and before * {@link #onStart()}. * * @param savedInstanceState If the fragment is being re-created from * a previous saved state, this is the state. */ public void onViewStateRestored(@Nullable Bundle savedInstanceState) { mCalled = true; }
当fragment已存在时,重新加载会执行onViewStateRestored把原有的控件数据重新赋值回来。onViewStateRestored在onActivityCreated(Bundle)后面执行,所以onViewCreated里面的mobileEt被覆盖掉了。
解决方案
在onViewStateRestored后面重新给控件赋值。
- 正确写法1:
@Override public void onViewStateRestored(@Nullable Bundle savedInstanceState) { super.onViewStateRestored(savedInstanceState); mobileEt.setText(mobile); }
- 正确写法2:
@Override public void onResume() { super.onResume(); mobileEt.setText(mobile); }
0 0
- Fragment中EditText文字的记忆性
- Android开发技术点1——Fragment中EditText文字的记忆性
- fragment中editText在来回切换中具有记忆性
- android中得到EditText中文字的物理长度
- android中得到EditText中文字的物理长度
- Android中EditText的setError文字不显示的问题
- Android中EditText的setError文字不显示的问题
- Android中EditText的setError文字不显示的问题
- EditText中灰色文字提示
- EditText中灰色文字提示
- android EditText 中显示Error提示的时候文字不见了
- 检测edittext中文字的输入状态,清空内容
- ViewPager+Fragment+EditText的问题
- 选取EditText的局部文字
- 监听edittext的文字变
- 文字记忆
- 【Android】安卓学习笔记之在EditText输入框中显示一些提示性的文字
- 在EditText中添加图片和文字
- IONIC 表单(FORM)验证
- SourceInsight添加.S汇编语言
- 配置tomcat7自带jdbc连接池、简单好用!
- QImage和QPixmap小区别
- 理解 Linux 的硬链接与软链接
- Fragment中EditText文字的记忆性
- GDAL—打开文件
- 【Bash百宝箱】shell内建命令之declare、typeset、local
- 单片机==时钟定时器(6)
- odoo之onchange、约束、高级视图
- 在客户端使用js操作cookie
- string name = request.getParameter("name"); JAVA上传图片文件name返回空null解决办法
- UVA Piotr's Ants
- iOS 下APNS推送处理函数详解(IOS10 方法改变)