一个Activity中存在一个EditText输入框,输入到一半的时候跳出另一个界面,而不巧的是这个存在EditText的界面刚好被系统回收了。...那么再次启动这个Activity的时候EditText的数据又得重新输入,这是极大的影响用户的体验的。那么我们该如何解决这个问题呢。...", "onDestroy"); super.onDestroy(); } } 之后,启动程序,在文本编辑框中输入几个字符,然后按住Ctrl+F11 将模拟器方向转向,打开LogCat...MainActivity先被摧毁,然后被创建。 MainACtivity中的EditText开始时的状态为什么也没有: ?...在EditText中随便输入几个字符,并且将模拟器换了方向之后: ?
Activity之前,要做一些操作的话,最好是放在onStop中,因为如果放在onPause中的话,会影响新的Activity启动速度。...我发现一个现象,就是比如我们的Activity里面有个EditText,这时候我在里面输入了123456,我也没在onSaveInstanceState和onRestoreInstanceState里面做特殊处理...在自己的类中的这个方法就是保存了输入的内容。...好,我们回头来看,我们如何设置一个Activity的规则,然后让其他Activity通过隐式调用来启动自己,就是在AndroidManifest.xml中进行设置标签,我们还记不记得我们设置的一个...中想启动这个MainActivity。
中还有很多其他的属性,这里就不再一一介绍了,用到的时候去查阅文档就可以了。...那我们来看一看如何在界面上加入EditText吧,修改activity_main.xml中的代码,如下所示: EditText android:id="@+id/edit_text...可以看到,EditText中显示了一段提示性文本,然后当我们输入任何内容时,这段文本就会自动消失。 不过,随着输入的内容不断增多,EditText会被不断地拉长。...的最大行数为两行,这样当输入的内容超过两行时,文本就会向上滚动,而EditText则不会再继续拉伸。 ...我们还可以结合使用EditText与Button来完成一些功能,比如通过点击按钮来获取EditText中输入的内容。
Activity之前,要做一些操作的话,最好是放在onStop中,因为如果放在onPause中的话,会影响新的Activity启动速度。...我发现一个现象,就是比如我们的Activity里面有个EditText,这时候我在里面输入了123456,我也没在onSaveInstanceState和onRestoreInstanceState里面做特殊处理...在自己的类中的这个方法就是保存了输入的内容。...好,我们回头来看,我们如何设置一个Activity的规则,然后让其他Activity通过隐式调用来启动自己,就是在AndroidManifest.xml中进行设置标签,我们还记不记得我们设置的一个...android:name="dyp"/> 复制代码 我们只设置了action的过滤条件,然后我们在其他activity中想启动这个MainActivity
开启Android开发之旅 要想开发一个Android App,开发环境是必不可少的,所以学习之前应该先搭建环境,环境如下: JDK + Android SDK(配置环境变量) 开发环境:Android...第四步:输入主活动名称以及主活动布局文件名称。 ? Finish,一个工程就创建好了。...多姿多彩的控件世界 比较最常用的控件 一 控件View的通用属性:宽高、颜色、边距、是否可见、内容居中、 点击事件等 TextView 显示文本 EditText 编辑框 Button 点击按钮 .9...进入买书界面,有一个EditText用于输入书名,点击提交,将该书名返回给上一个界面,点击取消按钮,直接返回上一个界面。 ?...点击提交后,可以看到输入的书名返回到了主界面。 ?
如果启动的时候没有在栈顶,那么还是会创建一个新的实例,比如说A->B ,返回栈存放过程是创建A,创建B,然后B->A(并非通过back回到A),创建A实例,因为此时返回栈中栈顶是B,所以会创建A实例。...(只要是在A上的实例全部出栈,如ABCD,需要用到B,此时栈中AB,CD出栈) SingleInstance:对于设置该模式的活动(Activity),会创建一个实例保存在新的返回栈中,这是因为可供其他的程序调用这个活动...此方法的默认实现保存有关Activity视图层次结构状态的信息,例如EditText小部件中的文本或ListView的滚动位置。...Activity状态 当您的Activity在之前被破坏后重新创建时,您可以从Bundle系统通过您的Activity中恢复您的保存状态。...如果它为空,那么系统正在创建一个Activity的新实例,而不是恢复之前被销毁的实例。
// 登录按钮 private EditText mEtUser; // 用户名输入框 private EditText mEtPassword; // 密码输入框 @Override...String username = mEtUser.getText().toString(); // 获取用户名输入框中的文本内容 String...password = mEtPassword.getText().toString(); // 获取密码输入框中的文本内容 Intent intent;...其中包含了以下部分: 导入所需的类和包。 声明了该活动(Activity)的类,并继承自AppCompatActivity类。 在onCreate()方法中,设置了布局文件和初始化控件。...在点击事件中,获取用户名和密码输入框中的文本内容,并进行判断,如果用户名和密码匹配,则跳转到MainActivity2页面,否则可以进行登录失败的处理。 通过上面两步就可以完成简单的跳转功能实现了。
首先来看一下Android文件的读写: 假设我们现在有这么一个需求:一个Activity中有一个EditText,在每次这个程序启动的时候我们要恢复用户上一次在EditText中输入的数据。...文件中,我们定义了两个方法:saveText() 和 readText() 分别用于储存 EditText 中输入的内容和恢复 EditText 中的内容。...主要是一些Java中的文件操作,如果不熟悉的话可以去网上找一些教程。在 onDestroy 方法中调用 saveText 来储存 EditText 中的数据。...,在 onCreate 方法中我们进行恢复 EditText 中的数据。...刚开始什么都没有(如果你是第一次运行这个程序) 输入字符: ? 退出程序之后再次进入程序: ? 成功恢复!
之前学习了3.Android-ADT之helloworld项目结构介绍后,本章便来写个简单的电话拨号器程序....,其它的全部用的是索引标记的(@XXX/YYYY),这些索引指针地址都会存在R.java中,而对应的索引内容都会存在values/XXXs.xml中(比如@dimen位于dimens.xml,而string...接下来我们便来介绍Activity. 3.1 Activity介绍 一个活动是一个单一的,集中的事情,用户可以做。...虽然活动通常作为全屏窗口呈现给用户,但它们也可以以其他方式使用:作为浮动窗口(通过windowisfloat设置的主题)或嵌入到另一个活动中(使用ActivityGroup)。...extends Activity implements OnClickListener { private EditText et_number; //文本框对象 @Override
强制下线的功能思路也比较简单,只需要在界面上弹出一个地画框,让用户无法进行其他操作,必须要点击对话中的确定按钮,然后回到登录界面即可。借助于广播,我们就可以轻松实现这个功能。...而不必在每个页面都编写一个弹出对话框的逻辑,因为你不知道用户此时在哪里。 强制下线的功能需要关闭所有活动,然后回到登录界面。...finish() 方法用于将 List 中存储的活动全部销毁掉。...,首先将 LoginActivity 的继承结构改为继承自 BaseActivity ,然后调用了 findViewById() 方法分别获取到输入框中的信息,然后再登录按钮里使用了一个简单的...然后修改MainActivity中的代码。
你将会学到一些安卓设计的基础,包括如何构建一个简单的用户界面和处理用户输入。...这个结果一点也不让人兴奋,但是重要的是 你明白了如何在开始开发之前去启动一个应用。...说明了 在布局中,ViewGroup对象形式如何分支,和包含其他的视图对象。 在这节课,你将创建一个XML布局,它包含了一个文本区和一个按钮。...在后面的课程中,在按钮被按下后你将作出反应,并发送文本区的内容到其他activity。...这个样子对于这个按钮还很好,但是对文本框就不那么好了,因为用户本可以输入一些更长一些的内容。那么比较好的情形是实用文本框填充满未使用的屏幕宽度。
注意:看到其他的博客上写的都是用的android:singleLine="true"(因为默认是多行模式,而右下角的按键是用于换行的,当设置为单行模式后就没必要换行了) 但是这个方法文档显示已经废弃了...对于不可编辑的文本,默认值为false(多行换行文本模式),但如果为inputType指定任何值,则默认值为true(单行输入字段模式)。...使用maxLines来改变静态文本的布局(比如TextView需要singleLine效果),并使用inputType属性中的textMultiLine标志代替可编辑的文本视图(比如EditText需要...--imeActionLabel属性有的输入法没做,所以就没有效果,但是在模拟器上看得出来,具体根据输入法会有不同结果--> EditText android:id="@+id...{ private static final String TAG = "MainActivity"; private EditText editText0, editText1,
文本 app > manifests > AndroidManifest.xml 清单文件描述了应用的基本特性并定义了每个应用组件。...自己小声bb: MainActivity 打开初始化的app看到的第一个界面 activity_main.xml 摆放组件,调样式的地方 可以在右上角切换视图模式 AndroidManifest.xml...点击Text下的plain Text拖动到界面中来 点击右边的加号 都设为16 再拖个按钮过来 右键,Show Baseline 拖动中间的横线到左边的plain text上 按住shift...在 AndroidManifest.xml 中添加所需的 元素。...Send 看到可以跳转了并且我们输入的文字也传入了过去
在某些情况下,activity会隐藏在金字塔下等待(例如当用户切换到其他app),此时activity可以重新回到顶端(如果用户回到这个activity)并恢复用户离开时的状态。...系统同样保存了每一个在布局中的视图的当前状态,如果用户在EditText组件中输入了text,它会被保存,因此不需要保存与恢复它。...(下一小节会介绍在activity销毁与重新建立时如何使用Bundle来保存其他数据的状态)....默认情况下, 系统使用 Bundle 实例来保存每一个View(视图)对象中的信息(例如输入EditText 中的文本内容)。...这个方法会默认保存Activity视图的状态信息,如在 EditText 组件中的文本或 ListView 的滑动位置。
新建项目: 项目结构: 运行效果: 回到MainActivity类 代码部分: main.xml 1 <?xml version="1.0" encoding="utf-8"?...; 10 import android.widget.Toast; 11 12 public class MainActivity extends Activity { 13 /** 定义一个输入框..., 31 ReceiveAcitivity.class); 32 // 把et_input输入框中的信息设置在参数msg中...startActivityForResult(intent, REQUEST_CODE); 36 } 37 }); 38 } 39 40 /** 41 * 当从其他页面返回来的时候...tv_receive.setText(msg); 38 // 当点击返回按钮的时候,返回到MainActivity类 39 btn_return.setOnClickListener
-- 添加一个可供输入的文本框input --> 13 EditText 14 android:id="@+id/input" 15 android:layout_width...-- 添加一个可供接收参数的文本框get --> 13 EditText 14 android:id="@+id/get" 15 android:layout_width...()方法,保存被覆盖的Activity类中的相关信息 26 if (null !...,这里处理的是保存input(EditText)中的信息 78 String content=input.getText().toString(); 79 outState.putString...中的值是没有变化
使用intent在活动间传递值 首先是 MainActuvity 活动(注册界面 写完个人信息点击注册 ) 跳转到 In 活动 (通过 intent 获得 MainActivity 中的信息 ) 效果图如下...: MainActivity 实现: Java代码: public class Home extends AppCompatActivity { //用于存放个人注册信息 EditText...(R.id.bn_01); //通过 intent 实现活动间的信息传递 button01.setOnClickListener(new View.OnClickListener...--android:inputType="numberPassword"表示是数值输入框--> EditText android:id="@+id/ed_year...--//放置前一个活动传递进来的信息--> <TextView android:id="@+id/In_tv_01" android:layout_width="
系统仍然会为这种活动保持相应的状态和成员变量,但是这并不是完全可靠的,当其他地方需要内存时,处于停止状态的活动有可能会被系统回收。 4、销毁状态 当一个活动从返回栈种移除后就变成了销毁状态。...此时的活动一定位于返回栈的栈顶,并且处于运行状态。 onPause() 这个方法在系统准备去启动或者恢复另一个活动的时候调用。...生存期 以上 7 个方法中除了 onRestart() 方法,其他都是两两对应的,从而可以将活动分为 3 种生存期。...可能这并不会影响正常的功能,但是存在一个特殊情况:如果活动 A 中存在临时数据和状态(比如 A 中有一个文本输入框,我们输入了一些文字,然后启动了 B 活动,如果 A 被 kill了,在重新回到 A 后...image.gif 通过上面的方法取出值之后再做相应的恢复操作就可以了,比如说将文本内容重新赋值到文本输入框上即可。
如果活动显式返回,则不会返回任何结果,或者在操作期间崩溃,resultCode将为RESULT_CANCELED。 当您的活动重新启动时,您将在onResume()之前立即收到此调用。...由于在一个活动中有可能调用startActivityForResult()方法去启动很多不同的活动,每一个活动返回的数据都会回调到onActivityResult()这个方法中,因此我们首先要做的就是通过...这是因为URI的另一个子类别,统一资源名称(URN),它们命名资源但不指定如何定位它们。 URI和URL之间的概念区别反映在此类和URL类之间的差异中。...的消息提示框,然后清空界面上已输入的数据,并准备接受下一次的输入; (b) 当点击“全部显示”按钮时,界面跳转到下一个界面(第二个Activity),这该界面中显示前面已多次输入的“姓名、年龄和身高”的数据...(多条记录,这些数据存放在上一步的集合中);提示:可以使用ListView分多行显示数据,每行显示一条记录; (c) 当点击“清除显示”按钮时,清除当前正在输入的数据,即清空“姓名、年龄和身高”这三个控件中的输入
一、EditText简介 EditText支持的XML属性及相关方法见TextView表中介绍的与输入有关的属性和方法,其中比较重要的一个属性是inputType,用于为EditText设置输入类型,其属性值主要有以下一些.../> 上面界面布局中的第一个文本框通过android:hint指定了文本框的提示信息:请输入用户名——这是该文本框默认的提示。...当用户还没有输入时,该文本框内默认显示这段信息; 第二个输入框通过android:inputType="numberPassword”设置这是一个密码框,而且只能接受数字密码,用户在该文本框输入的字符会以点号代替...然后修改一下app/src/java/MainActivity.java文件中加载的布局文件为新建的edittext_layout.xml文件,修改后的代码如下: public class MainActivity...EditText的示例程序就先到这里,关于其他使用方法建议大家自己进行练习。
领取专属 10元无门槛券
手把手带您无忧上云