首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当间隙关闭时,以前输入的文本为什么会从TextView中消失

当间隙关闭时,以前输入的文本会从TextView中消失的原因是因为在Android中,当屏幕发生旋转或者配置发生改变时,Activity会被销毁并重新创建。这个过程会导致之前的输入文本丢失。

为了解决这个问题,可以采取以下几种方法:

  1. 保存和恢复状态:可以在Activity的生命周期方法中保存和恢复输入文本的状态。在onSaveInstanceState方法中保存文本内容,然后在onCreate或onRestoreInstanceState方法中恢复文本内容。这样可以确保在屏幕旋转或配置改变后,文本内容不会丢失。
  2. 使用ViewModel:ViewModel是Android架构组件之一,用于存储和管理与UI相关的数据。通过将文本内容存储在ViewModel中,即使Activity被销毁和重新创建,文本内容也能够保持不变。
  3. 使用SharedPreferences:SharedPreferences是Android提供的一种轻量级的数据存储方式。可以将文本内容存储在SharedPreferences中,在Activity重新创建时从SharedPreferences中读取并设置到TextView中。
  4. 使用Fragment:将TextView放置在Fragment中,然后在Activity的onCreate方法中通过FragmentManager找到对应的Fragment并重新加载。这样即使Activity被销毁和重新创建,Fragment中的TextView仍然保持原有的文本内容。

总结起来,为了避免输入文本在间隙关闭时消失,可以通过保存和恢复状态、使用ViewModel、使用SharedPreferences或使用Fragment等方法来保持文本内容的持久化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

项目需求讨论-仿ios底部弹框实现及分析

hi,在项目开发中,有时候需要仿照ios的底部弹框做效果,比如我们在iPhone上面关闭定位的时候,就会弹出ios特有的底部弹框: ?...我们就来看看到底是为什么二边有间隙,然后再来看如何自己处理: 我们知道我们的View都是被包含在window里面,虽然我们的自己的View的宽度已经设置成了match_parent,但是我们并没有对window...---- 弹框从下而上显示: 我们看过ios的弹框效果,是从底部从下而上升起,然后消失的时候也是从上而下消失。...void onAnimationRepeat(Animation animation) {} }); } }复制代码 ---- 点击空白让弹框消失问题: 当点击上方一些空白处,...我们会发现我们的弹框会直接消失,而不会像我们上面点击按钮点击事件那样,弹框先往下移动再消失,因为DialogFragment默认点击弹框外的时候,会直接dismiss,而不走我们的方法: ?

1.1K30

史上最全的iOS之UITextView实现placeHolder占位文字的N种方法

前言 iOS开发中,UITextField和UITextView是最常用的文本接受类和文本展示类的控件。UITextField和UITextView都输入文本,也都可以监听文本的改变。...而开发中,我们经常会遇到既要占位文字,又要可以多行展示并且可以滚动的控件,单纯的UITextField或者UITextView都不能满足这种产品上的需求。...特点:这种方法的特点是,当用户点击了textView,placeholder占位文字就会立马消失,官方的placeholder是当系统监听到用户输入了文字后placeholder才会消失。...相比较方法一,方法二可以实现动态监听文本的改变,并非弹出键盘就立即清除placeholder,只有当用户开始输入文本的时候。placeholder才会消失。...setNeedsDisplay]; } - (void)setText:(NSString *)text { [super setText:text]; if (text.length) { // 因为是在文本改变的代理方法中判断是否显示

10.7K40
  • 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

    文本, 图片, 格式; -- Default : 默认状态; -- Highlighted : 用户碰触时的高亮状态; -- Selected : 被选中时的状态; -- Disabled : 禁用状态...UITextField 属性 (1) PlaceHolder 属性 PlaceHolder 属性 : 属性值是一个字符串, 再文本框没有输入内容时, 文本框内显示的灰色文本, 用于作为文本框提示信息...输入完后关闭键盘 (1) 设置 IBOutlet 设置 IBOutlet :  -- 拖控件到 OCViewController 中 : control + 左键 拖动控件到 ViewController...: replacementText : " 方法 : UITextView 控件指定范围的文本内容将要被替换时激发的方法; -- "- textViewDidChange : " 方法 : 文本内容发生改变时..., 在没有导航栏的应用中, 需要有键盘附件来关闭键盘; -- 1.

    6.9K20

    仿iOS底部弹框实现及分析

    hi,在项目开发中,有时候需要仿照ios的底部弹框做效果,比如我们在iPhone上面关闭定位的时候,就会弹出ios特有的底部弹框: ?...我们就来看看到底是为什么二边有间隙,然后再来看如何自己处理: 我们知道我们的View都是被包含在window里面,虽然我们的自己的View的宽度已经设置成了match_parent,但是我们并没有对window...3 弹框从下而上显示: 我们看过ios的弹框效果,是从底部从下而上升起,然后消失的时候也是从上而下消失。...从原来的位置,增加了自身高度的距离为起始点,开始移动,然后再回到原来的位置。 消失动画: 只要跟上面反过来就可以了。...6 点击空白让弹框消失问题: 当点击上方一些空白处,我们会发现我们的弹框会直接消失,而不会像我们上面点击按钮点击事件那样,弹框先往下移动再消失,因为DialogFragment默认点击弹框外的时候

    1.9K10

    深入解析序列模型:全面阐释 RNN、LSTM 与 Seq2Seq 的秘密

    接下来的事情的预测是基于历史的。例如,在“哈桑以前踢足球,而且他踢得非常好”的序列中。只有将“哈桑”的信息推进到该特定点,才能对“他”进行预测。...这些只是这些修改后的架构的一些应用。 RNN 的缺点 梯度消失/爆炸:总损失是所有时间戳损失的总和。因此,在反向传播过程中,我们对权重求偏导数。...当梯度呈指数增长时,参数更新不稳定且不可预测。这就是梯度爆炸问题。这两个问题都阻碍了 RNN 的训练。...长期依赖性:RNN 可以轻松地在小间隙中传递信息,但是当最后一个单词依赖于长句子的第一个单词时,RNN 会因间隙过大而失败。...在上图中,您可以看到编码器在每个时间戳处获取一个输入标记,然后更新其隐藏状态。编码器从给定句子中捕获的所有信息都通过编码器的最后一个隐藏状态传递到解码器。最后一个隐藏状态称为上下文向量。

    74820

    Flutter 1.20 下的 Hybrid Composition 深度解析

    VirtualDisplays 中 ,然后在 VirtualDisplay 对应的内存中,绘制的画面就可以通过其 Surface 获取得到。...,在 10 以下的版本中,Flutter 界面在屏幕上呈现的速度会变慢,这个开销是因为 Flutter 帧需要与 Android 视图系统同步造成的。...image 接着将黄色的 Re 文本往下调整后,可以看到黄色 Re 文本的布局边界也消失了,所以可以判定 Hybrid Composition 下 Dart 控件之所以可以显示在原生控件之上,是因为在和...image 另外还有一个有趣的现象,那就是当 Flutter 有不只一个默认的控件本被显示在一个 PlatformView 区域上时,那么这几个控件会共用一个 FlutterImageView 。...GPU 实现硬件加速,这也是为什么 Hybrid Composition 在 Android 10 上性能较好的原因。

    2.2K60

    安卓入门-第三章-安卓常用控件的使用方式

    其实这是由于TextView中的文字默认是居左上角对齐的,虽然TextView的宽度充满了整个屏幕,可是由于文字内容不够长,所以从效果上完全看不出来。...可以看到,EditText中显示了一段提示性文本,然后当我们输入任何内容时,这段文本就会自动消失。  不过,随着输入的内容不断增多,EditText会被不断地拉长。...,这样当输入的内容超过两行时,文本就会向上滚动,而EditText则不会再继续拉伸。  ...这时你可能会问,旋转的进度条表明我们的程序正在加载数据,那数据总会有加载完的时候吧?如何才能让进度条在数据加载完成时消失呢?这里我们就需要用到一个新的知识点:**Android控件的可见属性。...当然,当本书后面涉及一些我们前面没学过的控件和相关用法时,我仍然会在相应的章节做详细的讲解。

    1.9K20

    Android项目实战(二十七):数据交互(信息编辑)填写总结

    需求包括: 一个标题TextView 一个圆角白色背景EditText 一个可输入个数提示的TextView 两个按钮,‘确定’、‘取消’ 对话框展现形式。  代码实现: (1)编写布局文件 <?...isSingleLine EditText是否限制一行显示 maxSize EditText中文字的最大长度 textview 修改的TextView控件,首先要讲该控件的文本显示在EditText中...,点击确定后需要将编辑文本显示在改控件中 private void showEditDialog(String title , boolean isSingleLine , final int maxSize...(textview.getText().toString()); // 将参数textview的文本数据显示在EditText中 popup_edit_info_edit_content.setSingleLine...(new InputFilter[]{new InputFilter.LengthFilter(maxSize)}); // 设置EditText的最大长度,当输入超过这个值的时候不在允许输入

    3.5K70

    文件操作(几乎最全)

    4.1.2 标准流 那为什么我们从键盘输入数据,向屏幕上输出数据,并没有打开流呢?...那是因为C语言程序在启动的时候,默认打开了3个流: stdin - 标准输入流,在大多数的环境中从键盘输入,scanf函数就是从标准输入流中读取数据。...0,即该文件内容会消失 建立一个新的文件 “a”(追加) 向文本文件末尾添加数据,原来文件中的数据保留,新的数据添加到文件为,原文件EOF保留 建立一个新的文件 “rb”(只读) 为了输入数据,打开一个二进制文件...为了读和写,打开一个文本文件 出错 “w+”(读写) 对一个文本文件进行读写操作,若文件存在则文件长度清为0,即该文件内容会消失 建立一个新的文件 “a+”(读写) 向文本文件末尾添加数据,原来文件中的数据保留...从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘上。

    8810

    UIAutomator2的使用教程

    devices,则跳过此步骤   从谷歌官网下载Android Platform Tools, 解压,并加包含adb.exe的目录加入到系统的PATH中。...,如下图: 启动方法: 方法1:命令行直接输入 weditor 会自动打开浏览器,输入设备的ip或者序列号,点击Connect即可 方法2:桌面上双击WEditor快捷方式即可 方法3:命令行中执行...就是通过手机序列号或IP来实现的。打开cmd,输入adb devices,查看手机序列号,输入框中填写设备的IP或者设备的Serial(序列号)。...").click() # 操作是正常的 # App崩溃时 sess(text="Music").click() # 引发会话中断错误SessionBrokenError # session下的其他函数调用也会引发...#选择带有文本'Clock'的对象,它的类名是'android.widget.TextView' d(text='Clock', className='android.widget.TextView')

    8.4K21

    Android项目实战(三十二):圆角对话框Dialog

    对话框包括:1、圆角         2、app图标 , 提示文本,关闭对话框的"确定"按钮   难点:1、对话框边框圆角显示      2、考虑到提示文本字数不确定,在不影响美观的情况下,需要在一行内显示提示的文字信息...2、Android项目实战(五):TextView自适应大小   一行内显示文本信息,当文本字数少的时候 ,文字大小大,当文本字数多的时候,文字大小小。   ...也许大家从别的文章发现, 有的人用圆角背景图片来实现对话框圆角,有的人用style来实现对话框圆角。  ...* 0.28); //高度设置为屏幕的0.28 dialog.setCanceledOnTouchOutside(false);// 设置点击屏幕Dialog不消失...* 0.28); //宽度设置为屏幕的0.5 dialog.setCanceledOnTouchOutside(false);// 设置点击屏幕Dialog不消失

    2.4K70

    Android Activity的生命周期

    方法呢,为什么会在onPause()方法中保存一些当前Activity中的变化,要弄明白这些就要先了解Activity的生命周期,也就是一个Activity才开始到结束都要经过那些状态,下面通过一个例子了解...当应用从Helloworld这个Activity启动SecondActivity的时候,Android会先执行HelloWorld的onPause方法,然后依次执行SecondActivity的onCreate...从Activity栈中移除销毁。...这里值得提的就是HelloWorld 中finish方法,因为执行了他所以HelloWorld才会从Activity栈中移除销毁,这样当你按“返回”键返回的时候就回不到HelloWorld 这个Activity...变成不可见时调用 onDestroy():Activity被从内存中移除,一般发生在执行finish方法时或者Android回收内存的时候 好了,最后让我们看一个API提供的Activity的状态图吧,

    41830

    笔记32 | UI系列之EditText和AutoCompleteTextView

    /78499706 目录 EditText AutoCompleteTextView 附 ---- ---- 1.EditText 简单来说说EditText这个控件,这个就相当于我们平常web开发中的文本输入框...textEmailAddress时,键盘会多出来一个 @ 符号 <EditText android:id="@+id/blog" android:layout_width...EditText有一个setError的方法,当调用这个方法时,则表示输入的数据不合法,我们来看看官方的API对该方法的解释: void android.widget.TextView.setError...这个方法会给我们一个错误的小图标以及弹出的一段错误提示信息,当我们的这个EditText控件获得焦点的时候,当我们在文本框中输入了任何的值后,这个icon和message都会消失,例如: ?...extends EditText 我们通常都是自己定义了一组数据集合,可以是array,可以是list,还可以是网络传过来的数据,这组数据是以下拉菜单的方式根据我们输入的关键字来匹配我们数据集合中满足条件的数据项

    46750

    Android EditText使用详解-包含很多教程上看不到的功能演示

    EditText是TextView的子类,所以TextView的方法和特性同样存在于EditText中,具体的TextView的介绍可以参考上一节Android TextView小组件的使用–附带超链接和跑马灯效果...EditText为我们提供了android:hint来设置当EditText内容为空时显示的文本,这个文本只在EditText为空时显示,你输入字符的时候就消失了,不影响你的EditText的文本。。...这时候我们看到EditText和一个TextView差不多: ? 实现类似html中Textarea的文本域。...四:输入特殊格式的字符 在我们开发程序的时候不免会输入一些特属个数的字符,比如密码(输入框的字符要加密显示),电话号码(比如数字和-),数字等,这些都算是一些特属格式的字符,强大的EditText同样为我们提供了输入这些特属格式字符的设置...比如,在一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的Enter键显示的是“完成”文本,看着不太合适,不符合搜索的语义,如果能显示“搜索”两个字或者显示一个表示搜索的图标多好

    3.9K20

    超全的Android组件及UI框架

    设置内边距(填充)属性 上面这些属性用于设置组件的内边距,内边距主要用于设置组件边框和子组件之间的间隙 6....TextView 文本框 TextView 继承于 View 1.1 常用属性 跑马灯效果: 识别链接效果: android:autoLink 属性用于设置 TextView 是否识别链接类型和设置可识别的链接类型...EditText 输入框 EditText 继承于 TextView 2.1 常用属性 android:inputType :对输入文本类型进行限制 文本类型,多为大写、小写和数字符号 android...id 事件 说明 OnCheckedChangeListener 当 RadioGroup 中的某个选项被选中时触发 7....不过 Switch 也拥有自己的属性,而且特别的多 9.2 监听方法 Switch 提供了一些方法用来改变或获取自身的状态和开关时的文本 10.

    6.2K30

    小程序实战踩坑之B2B商城项目总结

    坑一:支付完成页面,点击“完成” 按钮会触发返回的页面的onShow()生命周期 (秘坑) 如下图,原以为是微信的页面,不会影响到小程序,实际情况下是会触发返回的页面的onShow()的。...通过 wx.openSetting 打开授权过的 权利,再次打开,在回调中,在执行你想要的业务逻辑即可。...如果担心这些蓝色的范围影响了一些设计稿的边距 ,想要收一收它的占位间隙,那么可以将视图内的文本行高设置为 1.1~1.3之间。为什么我不推荐直接设置为行高 1 呢?...="请输入具体的营业地址"> ?...然后把那个高仿的textarea显示出来。当弹出层消失的时候,就把高仿的textarea隐藏,真实的textarea显示出来。

    87520

    ios学习——键盘的收起

    在开发过程中,我们经常会用到UITextField、UITextView等文本框,然后这些文本框在点击之后会自动成为第一响应者(FirstResponder),并自动弹出软键盘。...然而,没有自动定义好的软键盘的回收。今天,我在开发过程中就遇到了这个问题,首先,软键盘收起会发生在两种情况下,一是当前区域为非第一响应者,二是当前区域的输入结束。...具体解决方案有两种: 1、在当前页面设置点击事件,当点击事件发生时,注销当前视图的第一响应者或者设置当前摄入结束。...当点击事件发生在非选中区域时,则键盘会自动回收: 1 //在viewDidLoad中 添加点击手势,为了关闭键盘的操作 2 UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer...; //UITextViewDelegate代理,当键盘输入变化时调用,可以通过该方法判断输入的内容 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange

    1.9K60

    TextView

    文本控件 显示富文本(URL、不同大小、字体、颜色的文本) 在TextView中预定义了一些类似HTML标签(不区分大小写),通过这些标签,我们可以使TextView控件显示不同的颜色、大小、字体的文字...当系统解析到img标签时就是调用ImageGetter对象的getDrawable方法,并将src属性传入getDrawable方法中。...由于无法直接使用文件名来引用res/drawable中的图像资源,我们使用反射技术从R.drawable类中通过图像资源名称获取对应的图像资源ID,实现的原理就是R.drawable类中的相应的资源ID...第四个参数是一个标志,在本例中设置成了Spanned.SPAN_EXCLUSIVE_EXCLUSIVE,该标志在TextView中的意义不大,单在EditText控件中表示的含义:在当前Span效果的前后输入字符串时并不应用...android:scrollbarFadeDuration=”2000” 滚动条从出现到消失(以渐变的方式)的时间,单位是毫秒

    1.6K20
    领券