Android 页面跳转,返回到最初页面,怎么保存页面数据不变,不为空。 5C

Android 第一个页面TextView里面有一些数据,页面跳转后返回到第一个页面,怎么保存第一个页面TextView里面数据不变。不是为空的。

3

6个回答

1.设置activity启动模式为singletask或者是singleinstance
2.在onsaveinstancestate中保存textview内容再次切换回来时,onrestoreinstancestate时,还原回来
3,在onresume中还原内容,在onpause中保存内容

1

.设置activity启动模式为singletask或者是singleinstance
2.在onsaveinstancestate中保存textview内容再次切换回来时,onrestoreinstancestate时,还原回来
3,在onresume中还原内容,在onpause中保存内容

1

.实现效果:
原始界面: ----传输数据----------> 填写数据后,点击计算后界面-----返回数据----->点击返回按钮后,回到上一个页面,依旧能够保留之前保持的数据

2.实现代码:
a.两个布局文件:
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.activity_return.MainActivity">
android:textSize="30sp"
android:layout_marginTop="30dp"
android:layout_marginLeft="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title" />
android:layout_marginTop="30dp"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:textSize="20sp"
android:text="@string/sex"
android:layout_marginLeft="50dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:checked="true"
android:layout_marginLeft="10dp"
android:id="@+id/rb1"
android:text="@string/man"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:layout_marginLeft="30dp"
android:id="@+id/rb2"
android:text="@string/woman"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />


android:layout_marginTop="10dp"
android:layout_marginLeft="50dp"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:text="@string/height"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:id="@+id/et"
android:layout_marginLeft="10dp"
android:background="@drawable/bg_edittext"
android:layout_width="80dp"
android:layout_height="wrap_content" />
android:layout_marginLeft="10dp"
android:text="cm"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

android:layout_marginTop="50dp"
android:layout_marginLeft="100dp"
android:id="@+id/bt"
android:text="@string/calculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

new_activity.xml文件:
<?xml version="1.0" encoding="utf-8"?>
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:id="@+id/text"
    android:layout_marginLeft="50dp"
    android:layout_marginTop="50dp"
    android:textSize="20dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
<Button
    android:text="返回"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="50dp"
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

b.两个activity.java文件:
MainActivity.java:
public class MainActivity extends AppCompatActivity {
private EditText et;
private RadioButton rb1;
private RadioButton rb2;
private Button bt;
private Double height;
private String sex;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化控件
initData();
//实现跳转
jump();
}
private void initData(){
et=(EditText)findViewById(R.id.et);
bt=(Button)findViewById(R.id.bt);
rb1=(RadioButton)findViewById(R.id.rb1);
rb2=(RadioButton)findViewById(R.id.rb2);

}
private void jump(){
    bt.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String str=et.getText().toString();
            //一定要注意这一步的判断,因为用户可能没有填写身高就提交了,那么这种情况下会导致程序奔溃
            if(!str.equals("")) height=Double.parseDouble(et.getText().toString());
            else{
                et.setHint("请输入身高");
                return;
            }
            //那么对于这种情况,我们可以在布局文件中先设置某个按钮默认的checked为true,然后根据用户来更改
            if(rb1.isChecked()){
                sex="M";
            }else{
                sex="F";
            }
            Intent intent=new Intent();
            intent.setClass(MainActivity.this,New_Activity.class);
            //利用bundle来存取数据
            Bundle bundle=new Bundle();
            bundle.putDouble("height",height);
            bundle.putString("sex",sex);
            //再把bundle中的数据传给intent,以传输过去
            intent.putExtras(bundle);
            startActivityForResult(intent,0);
        }
    });
}
//这里是设置获取从第二页面中返回的数据,如果我们没有设置这个的话,我们返回该页面,那么数据都会清空
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode==RESULT_OK){//如果是返回的标识
        //获取数据
        Bundle bundle=data.getExtras();
        sex=bundle.getString("sex");
        height=bundle.getDouble("height");
        //保留之前的数据
        if(sex.equals("M")){
            rb1.setChecked(true);
        }else{
            rb2.setChecked(true);
        }
        String str=height.toString();
        et.setText(str);
    }
}

}
new_activity.java:
public class New_Activity extends Activity {
private TextView textView;
private String sex;
private String sexText;
private Double height;
private String weight;
private Button button;
private Intent intent;
private Bundle bundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.new_layout);
initData();
//设置返回上一个页面的数据
setBackData();
}
private void initData(){
textView=(TextView)findViewById(R.id.text);
button=(Button)findViewById(R.id.button1);
//获取上个页面传输过来的数据放在intent中
intent=this.getIntent();
bundle=intent.getExtras();
sex=bundle.getString("sex");
height=bundle.getDouble("height");
if(sex.equals("M")){
sexText="男性";
}else{
sexText="女性";
}
getWeight();
}
private void getWeight(){
if(sex.equals("M")){
weight=(height-80)*0.7+"";
}else{
weight=(height-70)*0.6+"";
}
}
private void setBackData(){
textView.setText("你是一位"+sexText+"\n你的身高是"+height+"厘米\n你的标准体重是"+weight+"公斤");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//因为我们在initData中已经将传输过来的数据放在intent中,所以这里我们直接用intent即可
setResult(RESULT_OK,intent);
finish();
}
});
}
}

0

注意保存数据的这段代码,好好看看看。。。

0
0

实现效果:
原始界面: ----传输数据----------> 填写数据后,点击计算后界面-----返回数据----->点击返回按钮后,回到上一个页面,依旧能够保留之前保持的数据

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
页面跳转再返回时原有页面数据的保存问题
场景:一个页面如果通过ajax请求加载数据时,如果跳转到下一页面再回来,这时候数据会消失,需要再次通过ajax请求拿到。 目标:返回上一页时,上一页ajax请求的数据还在。 解决方案: 1.cookie,通过cookie的方式保存数据,每次打开页面时需判断cookie中的数据是否存在,然后加载。 个人不推荐这种方式,因为cookie保存的数据大小有限制,而...
Android开发实现连续跳转几个界面后在最后一个界面完美跳回最初的界面
在实际的项目开发中也许会碰到一种情况,需要从A界面跳转到B界面,再从B界面跳转到C界面,再从C界面跳转到D界面,最后需要从D界面跳回到A界面,并且把B、C 、D界面都干掉。也许立马会有人觉得可以在B、C、D界面跳转时就finish()掉当前界面就可以了。但是如果需要在B、C、D界面之间可以正常的返回上一界面,那么在跳转的时候finish()掉当前界面就不合理了。其实Android已经为我们提供了一
安卓Activity--从第3个activity跳回到第一个activity(中间跳过一个)
Main—>SecondActivity—>ThirdActivity—>Main  这个例子的流程,比上一个更复杂一些,经历了3个Activity,最后跳转回第一个Activity。  public class Main extends Activity {              private Button btn;       private TextView re
android从子页面跳转回主页面注意
我们做项目中很多时候需要从子页面跳转回主页面HomeActivity,不能简单的starActivity(),这样做会在原有的栈中继续添加一个HomeActivity 要清空原来栈中的数据,才具有返回首页的真正意义
JSP页面刷新跳转返回之后 保持原页面位置
在做个项目,需要提交当前页面的表单数据。提交、更新数据库之后返回页面,需要保持当前位置。 估计好多解决方案,但是我说知道的有两个,一个是用AJAX,但是我还没有搞清楚怎么弄。另一个用JS获取当前滚动条位置,提交到后面,返回到当前页面的时候,把位置传回来,然后设置滚动条位置。虽然每次刷新页面,但是也"曲线救国"可以保持位置了。后面要研究下这个Ajax。 在JSP页面写两个JS函数,其中一个要在页
android studio 怎么回到欢迎界面
如题     只要将箭头所指处的选项取消选中就好了
页面跳转后返回上一页面记录上一页面select选定的值
上图为展示图思路:cookie缓存记住当前页面select选中的值,再次返回时获取cookie的值即可第一步:引入js;&amp;lt;script src=&quot;js/jquery.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;script src=&quot;js/jquery.cookie.js&quot;&amp;gt;&amp;lt;/script&amp;gt;第二步: 当点击其中一项时设置cookie缓存,首先先清除之前的缓...
AndroidStudio如何回到首页面
-
easyUI分页中,如何实现页面跳转,再返回时,仍然到跳转前页数。(含页面显示条数)
easyUI中,分页情况下,跳转到其他页面修改数据,再返回时,相当于重新打开此页面,即显示第一页。 这样很不方便。故提出跳转回修改前的页面的需求。 通过网上搜索,了解到实现页面跳转回去的基本原理是:传递当前页码到另一页,然后另外一页接收页码值再传回到原页面。如果考虑页面显示条数的变动,也可以将页面显示条数值进行传递。 不过多废话,直接上源码,仅需在需更改的页面添加如下代码即可。 一、带有分页
Android 开发之webview页面返回到最顶关闭
 public class MyWebViewActivity extends Activity {  private Context context = this;  // 底部菜单View // public static View bottomView;  private WebViewProgressBar webView;  private String url;  p
android如何在页面跳转后,让用户不能通过返回键回到原页面
1.首先在 ActivityA 中定义一个 Activity 的静态全局变量:staticActivity ActivityA; 2.在OnCreate()方法中给ActivityA赋值:ActivityA=this; 3.在ActivityB中,需要结束ActivityA时,调用ActivityA.ActivityA.finish(); 原文链接↓ https://blog.csdn.net/a...
网页回退/返回后表单的原数据还显示(动态添加的数据也一样)
&amp;lt;HTML&amp;gt; &amp;lt;HEAD&amp;gt; &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&amp;gt; &amp;lt;META NAME=&quot;save&quot; CONTENT=&quot;history&quot;&amp;gt; &amp;lt;S
Activity多级界面跳转不断返回上一个界面解决方案
只要写在你需要跳转的地方即可 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 防止返回时不断的返回上一次入栈的Activity,以后遇到此类问题只要多看看Activity的生命周期
Android中页面传值(从跳转到的Activity回到跳转前的Activity,如何保留前一Activity的数据)
问题描述: 在一个页面,采用ExpandableListView的列表方式展示数据,该列表中有多个子项目,点击右侧箭头,弹出对应子项下的详细信息,如图1:                                  图1 采用ExpandableListView展现的列表数据 后边点击销售协议后的蓝色箭头,弹出该选择项必填的数据页面,如图2
SpringMvc中,Controller方法的多种实现方式(指定返回到哪个页面,指定返回到页面的数据)
1)ModelAndView @RequestMapping(&quot;/list&quot;) public ModelAndView itemsList() throws Exception{ List&amp;lt;Items&amp;gt; list = itmesService.list(); //创建ModelAndView视图 ModelAndView modelAndView = new...
如何在页面跳转后,再返回上级页面时,保留检索条件,刷新内容
场景: 主页面:main.jsp 子页面:son.jsp 子页面检索条件:zhonglei,mingcheng,countryCodeS,asins,fnskus,skus 部分子页面代码 //这是子页面的检索条件代码 &amp;lt;tr&amp;gt; &amp;lt;td class=&quot;tdtitlce2&quot;&amp;gt;产品种类&amp;lt;/td&amp;gt; &amp;lt;td class=&quot;tdcon...
带有分页的列表的跳转后,返回时怎么实现保留分页的页数等信息
我们通过一个列表,进入了下一个页面,返回列表页面的时候,怎么实现保留页面数据 eg:当我们从列表的第4页去编辑这条信息,那么当编辑完成后我们是不是返回到列表页,那么列表页应该显示第几页的数据呢? 解决方案:(楼主的项目是vue+element)  携带参数 当页面跳转的时候,将页码等需要保存的数据,放在路由的参数中,传递到跳转页面,当完成后,最后回调回来,将参数带回来,初始化列表数据。...
返回上一页时返回不到离开时的位置
我遇到的是两种情况:一种是直接在DOM中显示的,一种是Ajax分页的一、第一种使用cookie的方式$(function () {var str = window.location.href;str = str.substring(str.lastIndexOf(&quot;/&quot;) + 1);if ($.cookie(str)) {$(&quot;html,body&quot;).animate({ scrollTop: $....
【android】关于多个activity页面跳转,跳过中间页面返回前边页面传值
这是一个面试中被问到的题目,答得不是很好,后来经过自己敲代码尝试发现了一个解决思路。 我可以把这个问题具体化。比如有一个需求,给你三个页面A,B,C,要求A可以跳转到B页面,并传值,B可以跳转到C页面,并传值,C页面直接返回A页面,并且把C页面的值直接给A页面。
安卓中返回结果到上个界面
举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。 貌似启动 Activity 的只有 startActivity() 和 startActivityForResult(),之前只学会了前者能初始化一个Bundle,但用起来
Android跳转到系统设置页面再跳转别的页面不保存系统页面的一种解决办法
有这么一个业务,要在A页面跳转到系统wifi页面,然后手动连接wifi后,通过网络连接状态,跳转到B页面,这时候问题就出来了。当你把B页面finish时,发现会回到wifi设置页面,这显然并不是我们希望看到的,然后各种搜索,没有找到比较好的方法。 只能找到另一个类似的问题,是从设置页面回到A页面的问题,这里当然最简单的是直接在设置页面按返回键。更好的方法在别人的blog中有提到。贴上链接:htt
Android A-B-C跳转 C直接退出到A页面
Android A-B-C跳转 C直接退出到A页面 C页面返回有两种情况,case 1:是没有操作需要返回到B页面,case 2:是操作完成需要返回到C页面。(ps:C页面不一定是首页,可能也是次级页面) case 1: 这种情况,我在点击返回按钮的时候,直接finish掉当前页面,就可以直接返回到B页面 case2:操作完成,不需要返回B页面,需要直接到A页面。我想到的办法是在C页面有一个k
android 三级界面返回直接到一级界面
从一级界面用intent跳到二级界面,在从二级界面跳到三级界面这个时候在 传递下面一个finish() 这样二级界面就不存了,跳到三级界面在返回的时候就直接 到一级界面了,这样不用在intent跳到到一级界面了。
Android界面之间的跳转和返回
在androidmanifest.xml中添加代码如下:好了,基本步骤完成。下面开始进入代码:第一个界面代码如下: package com.wxy.androidapp; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view
Android中 如何在本Activity页面退出后回到首页或者指定的Activity入口
如何在本Activity页面退出后回到首页或者指定的Activity入口。假如你在D页面,想退出当前activity时回到最初的首页入口A页面,中间有B、C两个页面。
浏览器填写数据,跳转页面返回数据不消失
步骤一:点击按钮,保存数据,跳转页面 $(&quot;#userAgree&quot;).on(&quot;click&quot;,function(){ var obj = {}; obj.username = $(&quot;[name=username]&quot;).val(); obj.telephone = $(&quot;[name=telephone]&quot;).val(); obj.verifiyCode = $(&quot;[name=veri...
Android 如何在屏幕切换的时候页面信息不被重置
 当屏幕转动切换的时候 Android 机制是: 销毁当前屏幕的 Activity ,然后重新开启一个新的适应屏幕改变的 Activity 。 那么,我们该如何在屏幕切换的时候页面信息不被重置呢? 解决实现: 1.在 AnroidMainifest.xml 的 activity 元素中加入: android:configChanges="orientation|keyboard
Android如何跳转至目标Activity后按返回键不返回前一个Activity
有时候我们希望从一个activity离开后,按返回键不要再回去(比如点击退出登陆后跳转至登陆界面,这是点击返回键不希望返回到之前的退出登陆界面),那么我们需要把这个activity从栈区中去除。考虑在activity A中调用 activity B,不允许从activity B中返回activity A,只要将原来的跳转代码替换为如下: Intent intent=new Intent(...
父页面跳转子页面,子页面返回父页面并强制刷新父页面【记录一下】
&amp;lt;input type=&quot;hidden&quot; id=&quot;refreshed&quot; value=&quot;no&quot;&amp;gt;(父页面) 把下边的代码加入js(父页面调用) if ((/iphone|ipod|ipad.*os 5/gi).test(navigator.appVersion)) {   window.onpageshow = function (event) {     if (event.per...
android  打开多个Activity,返回到第一个Activity的问题
一、问题说明     依次从登录到三级界面,然后退出回到登录界面。 二、解决办法 2.1  实现代码  三级界面调用如下代码:  Intent intent = new Intent(context, LoginView.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); context.start
vue从其他页面返回保持上一页的状态
参考:https://blog.csdn.net/yan263364/article/details/84402595
android程序点击返回退出时,返回到欢迎界面的解决办法
android程序点击返回退出时,返回到欢迎界面的解决办法? 解决办法:当欢迎界面跳转到主界面的activity时,在handler中将欢迎界面finish即可。 代码: -----------------------------------------------------------------------------------------------  //定时2秒后跳转
返回查询页面保持原来的查询条件和数据
history.go(-1) :后退+刷新; history.go(1) :前进 history.back() :后退 ;  history.back(-1) :返回上一页,原页表表单中的内容会保留 history.back(0) :刷新; history.back(1) : 前进 ...
iOS 如何返回(pop)到指定页面
APP开发的过程中会遇到跳转问题,我们大部分是调回到上一个页面,可所有时候也会遇到跳转到指定页面的需求,苹果给我们提供了几种跳转方式 1.退出到跟视图控制器 popToRootViewControllerAnimated:(BOOL)animated; 2.返回到上个页面 popViewControllerAnimated:(BOOL)animated;
bootstrap 列表页进入详情页之后,点击返回列表页会跳到第一页的内容
问题描述: 在用bootstrap进行开发的时候,遇到了一点问题,如图,我本来在第三页,然后选中一条数据,点击详情,进入详情页面,但是在详情页面点击返回之后,这个列表就回到了第一页,如果想继续之前的工作,就需要手动转到第三页,当页数比较多的时候就比较麻烦。在向前辈请教之后,问题得到了解决。之前在网上也看到过类似的问题,也有其他的解决办法,这里记下我用的方法。 解决问题: 首先列表页面和详情页面是...
iOS 连续多次present 之后,想回到最初的viewController
// The view controller that was presented by this view controller or its nearest ancestor. 此视图控制器的视图控制器或其最近的祖先。 @property(nullable, nonatomic,readonly) UIViewController *presentedViewControl
解决Android页面跳转时回退到桌面的问题
两个Activity跳转时不应执行任何耗时的操作,否则Android系统会回退到桌面再启动下一个Activity 测试机型:OPPO R9
Android 完美解决bundle实现页面跳转并保留之前数据+传值
1.前言前言:        昨天碰到了一个问题,我想实现页面跳转,采用了Bundle之后,再回到原来的页面,发现数据也没有了,   而且一直报错,网上查找了很多资料,发现要用一个startActivityForResult(),然而好景不长,   我又想在后面的页面把后面页面的数据和前面传过来的数据都传递给中间页面的数据,这样听起来有些复杂,   我简单写了一个Demo。2.第一个活动+布局2....
JS控制点击跳转到指定页面,以及返回到上一页
如下:<p onclick="javascript:location.href='xxx.html';">跳转</p><el-button type="primary" onclick="javascript:location.href='xxx.html';">跳转</el-button>返回到上一级:window.history.go(-1); //返回上一页 window.history.
java刷新页面不回到顶部
今天遇到刷新页面不回到顶部的需求,window.location.reload();方法已经解决了问题,但是ie8不支持,后来采用的是锚点这个方法 window.location = '/plan/getList.action#md';
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 微信公众号的页面开发教程 微信支付页面开发教程