首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >TextViews在更改片段时不保存值

TextViews在更改片段时不保存值
EN

Stack Overflow用户
提问于 2015-06-24 09:16:11
回答 3查看 737关注 0票数 1

我有一个有很多片段的活动。在所有片段中,我在onViewCreated中获得视图,如下所示:

代码语言:javascript
运行
AI代码解释
复制
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    tv1 = (TextView)view.findViewById(R.id.tv1);
    tv2 = (TextView)view.findViewById(R.id.tv2);
    tv3 = (TextView)view.findViewById(R.id.tv3);
}

我不会将文本视图的文本存储在状态中。有一个片段扩展了ListFragment,我更改适配器的项并刷新列表视图。

当我回到以前的片段(我使用popBackStack(),因为我需要使用back按钮(应用程序在kiosk模式下运行)时,一些片段中的文本会丢失,而在另一些片段(和listview)中,所做的更改将保持在原地。

我使用replace替换当前帧中的片段。

编辑

正在丢失的值是TextViews和ImageButtons (图像资源)。EditText视图中的文本不会丢失。

为什么这种情况只发生在一些片段中,我如何解决数据丢失问题?

EN

回答 3

Stack Overflow用户

发布于 2018-06-15 18:14:39

你必须用

代码语言:javascript
运行
AI代码解释
复制
android:freezesText="true"

在您的布局文本视图中,您希望保留其文本。

希望能帮上忙。

票数 8
EN

Stack Overflow用户

发布于 2015-06-24 09:36:44

让我看看我是否理解你的处境:

  • 您正在显示Fragment1的一个实例,其中包含您的TextView
  • 您可以将屏幕上的Fragment1实例替换为Fragment2实例。
  • 返回到Fragment1,但当您返回时,TextView中的文本已经丢失。

我已经看到了发生这种情况的情况,因为包含原始TextViewTextView实例与第二次显示的Fragment1实例不同。如果要显示两个不同的Fragment1实例,则第二个实例将不会显示第一个实例包含在其文本视图中的文本。

因此,请看一看管理碎片事务的代码。在展示片段之前,您是否正在创建新的片段实例?如果是这样的话,您将不得不保留对要保留的片段的引用,而不是每次都重新创建它们。

另一件需要考虑的事情是TextView是如何被填充的。也许实际数据在某处丢失了。

票数 0
EN

Stack Overflow用户

发布于 2015-06-24 09:41:59

如果使用的是替换,请使用实例变量在每个片段中存储数据,例如:

代码语言:javascript
运行
AI代码解释
复制
String value = "";
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    tv1 = (TextView)view.findViewById(R.id.tv1);
    tv1.setText(value);

}

注意:每当textview数据被更新时,也会更新值变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31032960

复制
相关文章
SQLserver2019当保存时出现不允许保存更改,阻止保存要求重新创建表的更改解决方案。
第一步:工具→选项 2,取消勾选
SingYi
2022/07/14
1.6K0
SQLserver2019当保存时出现不允许保存更改,阻止保存要求重新创建表的更改解决方案。
EditPlus如何设置保存时不产生.bak备份文件?
大家在使用EditPlus时都会遇到这么一个问题,就是每次保存或者修改后保存时都会生成一个.bak后缀的文件,这个是一个缓存文件。那如何才能不生成该缓存文件呢?操作如下图所示:
黑泽君
2018/10/11
1.5K0
DTO返回JSON时,不展示某字段;DTO返回JSON时,更改某展示字段的key
//DTO返回JSON时,不展示某字段 @JsonIgnore private String addresses; //DTO返回JSON时,更改某展示字段的key @JsonProperty(value = "addresses") public final CalendarVideoAddressDTO getAddressesJSON() { if (addresses != null) { return JSONObject.pars
qubianzhong
2019/04/22
2.4K0
vscode如何更改文件默认保存路径
一 二 三
ydymz
2021/01/05
11.7K0
vscode如何更改文件默认保存路径
R python在无图形用户界面时保存图片
在用python的matplotlib,和R中自带的作图,如果想保存图片时,当你有图形用户界面时是没有问题的,但是当没有图形用户界面时,会报错: 在R中,解决办法: https://blog.csdn.net/LongBless/article/details/6373291 在python中,解决办法: 在导入matplotlib的其他包之前,写以下语句:   import matplotlib   matplotlib.use('Agg')
Echo_fy
2018/07/06
9880
Edittext In Listview,当listview的item中有edittext时,怎么保存edittext的值?
http://blog.csdn.net/lxk_1993/article/details/50527886
103style
2022/12/19
8720
Edittext In Listview,当listview的item中有edittext时,怎么保存edittext的值?
django 保存数据时重写?
需求: class Article(Model.model): title = '' title_hash = hash(title) 实现方式1: def save(self, *args, **kwargs): self.title_hash = hash(self.title) super(Article, self).save(*args, **kwargs) 实现方式2: def save_title_hash(self): title_hash = has
BigYoung小站
2020/05/05
1K0
只在必要时保存服务器控件视图状态
自动视图状态管理是服务器控件的功能,该功能使服务器控件可以在往返过程上重新填充它们的属性值(您不需要编写任何代码)。但是,因为服务器控件的视图状态在隐藏的窗体字段中往返于服务器,所以该功能确实会对性能产生影响。您应该知道在哪些情况下视图状态会有所帮助,在哪些情况下它影响页的性能。例如,如果您将服务器控件绑定到每个往返过程上的数据,则将用从数据绑定操作获得的新值替换保存的视图状态。在这种情况下,禁用视图状态可以节省处理时间。
Java架构师必看
2021/03/22
6530
如何强制用户在Linux下一次登录时更改密码
请注意,如果您刚创建了具有默认密码的用户帐户,则还可以使用此技巧强制该用户在首次登录时更改其密码。 有两种可能的方式来实现这一点,如下面详细描述的那样。 使用passwd命令 要强制用户更改其密码,首
Solli
2018/05/11
2.5K0
Emacs 保存 gpg 文件时卡住
在最近的 gnupg 版本中,出现了 breaking changes 导致 Emacs 保存文件时会卡住,涉及的版本有:
飞驰的西瓜
2023/09/06
2130
Emacs 保存 gpg 文件时卡住
vue 路由跳转时更改页面title
export default new Router({ routes: [ { path: ‘/’, name: ‘index’, component: index, meta: { title: ‘title1’ } }, { path: ‘/studentInfo’, name: ‘studentInfo’, component: studentInfo, meta: { title: ‘title2’ } } ] }) 二、js入口文件main.js中添加代码:
kirin
2020/07/27
1.8K0
mysql 数据库数据文件保存路径更改
     mysql 数据安装的时候默认的数据库文件保存路径是在C:\ProgramData\MySQL\MySQL Server 5.5\data文件下的,但是我们安装数据库在服务器上的时候往往是不要在C盘中,所有我们就想要把数据保存的文件给更改了,那我们就来看看这样该怎么样来操作呢?
爱拼才会赢
2021/10/18
6.9K0
Blender导出glb,NLA轨道分片段裁剪设置不生效
我使用blender3.4在制作完模型和动画后,建立了两个NLA轨道,都是对同一个动作的裁剪,像下图这样:
用户1200827
2023/01/11
9980
网页切出当前标签页时更改标题状态
浏览器里当用户切入或切出当前标签页时,会触发visibilitychange事件(IE10以下浏览器不兼容)。 这个事件能很好的解决页面在不可见的情况下,通过状态判断针对性减少网络请求、服务器压力等。 废话不多说,直接上js
小唐同学.
2022/02/23
1.9K0
LayUI switch 开关监听 获取属性值、更改状态
背景 今天在设计页面时,想使用一下 LayUI 的 switch 控件,在需要更改状态的时候进行 ajax请求传输 需要获取其中的自定义属性值,同时根据服务器返回数据进行状态的更改 通过参考文档及网友
泥豆芽儿 MT
2019/03/20
20K0
LayUI switch 开关监听 获取属性值、更改状态
Laravel5.8 状态值无刷新更改
本文采用CC BY-NC-SA 3.0 Unported协议进行许可,转载请保留此文章链接
Meng小羽
2019/12/24
1.2K0
数码知识:充电器在不充电时,插在插座上有哪些影响?
生活中越来越多的人已经习惯了手机充完电,只拿走手机而很少会拔掉手机充电器。并且大部分人也认为这样是不会消耗电量的,也不会有什么危险。那么这样做到底充电器消耗不消耗电能呢?下面为您解答!
小明互联网技术分享社区
2022/05/24
2.2K0
数码知识:充电器在不充电时,插在插座上有哪些影响?
通过 ReferenceOutputAssembly=False 在引用项目时,不额外引入依赖文件
正常当两个 .NET 项目有引用的时候,会将一个的输出拷贝到另一个的输出目录下。但有时我们只是希望通过引用建立一个依赖关系而已,最终两个项目的输出是独立的。
walterlv
2023/10/22
2970
通过 ReferenceOutputAssembly=False 在引用项目时,不额外引入依赖文件
在 Git 中当更改一个文件名为首字母大写时
一般开发中在 Mac 上开发程序,并使用 Git 进行版本管理,在使用 React 编写 Component 时,组件名一般建议首字母大写。
山月
2021/01/04
1.7K0
file_put_contents 保存文件时乱码
tomcat让人抓狂,后台java写的一个应用程序生成的静态html居然是ANSI编码格式的文件,前台首页点击查看页面时直接乱码了…
meteoric
2018/11/15
1.7K0

相似问题

Android -替换片段并更改其TextViews

22

从活动中更改片段的TextViews文本

11

将片段A更改为片段B时保存片段状态

10

如何在片段中更改TextViews中的OnSensorChanged?

10

片段UI组件空TextViews

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档