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问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android studio 怎么回到欢迎界面
如题     只要将箭头所指处的选项取消选中就好了
页面跳转再返回时原有页面数据的保存问题
场景:一个页面如果通过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已经为我们提供了一
网页回退/返回后表单的原数据还显示(动态添加的数据也一样)
&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
js返回到上个页面之后,滚动条还在上次的地方
/*返回上次浏览的位置*/         $(function(){                 var str=window.location.href;                 str =str.substring(str.lastIndexOf(&quot;/&quot;)+1);                 if($.cookie(str)){                    //几秒...
页面跳转后返回上一页面记录上一页面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缓存,首先先清除之前的缓...
html5的replaceState实现详情页到列表页的无刷新且回到上次位置
最近遇到一个用户体验问题,即从详情页回到列表页的时候,需要记住用户上次的位置,并且不刷新。 最开始返回使用的是 history.go(-1),发现并不好使,也许在有些浏览器下有效果。折腾半天,突然看到html5里新加的 window.history.replaceState的方法,以下是亲自实践: 假如 列表页位 list.html (其中有获取列表的方法 getList(),支持分页   和
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
返回上一页时返回不到离开时的位置
我遇到的是两种情况:一种是直接在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: $....
iOS:关于A页面跳转到B页面,B页面跳转到C页面,点击C页面直接返回到A页的几种方法...
相信在做项目的时候,各位同学都有碰到,这样一个问题,页面二级跳转或三级跳转,一键返回到一级页面的需求 今天有个小伙伴问我,他的需求是,在提交一个表单的页面,提交成功后,要展示一个提交表单成功的页面,当用户此时点击返回按钮事,页面就要略过表单页面,放回到上一级页面。 也就是A 跳转到 B(表单页面) ,表单提交成功跳转到 C(提交成功页面),在C页面点击返回...
vue keepalive路由跳转保留离开时的位置,回到原页面时是在离开时的位置
与keepAlive结合,如果keepAlive的话,保存停留的位置:scrollBehavior (to, from, savedPosition) { if (savedPosition) { return savedPosition } else { if (from.meta.keepAlive) {   from....
Android跳转到系统设置页面再跳转别的页面不保存系统页面的一种解决办法
有这么一个业务,要在A页面跳转到系统wifi页面,然后手动连接wifi后,通过网络连接状态,跳转到B页面,这时候问题就出来了。当你把B页面finish时,发现会回到wifi设置页面,这显然并不是我们希望看到的,然后各种搜索,没有找到比较好的方法。 只能找到另一个类似的问题,是从设置页面回到A页面的问题,这里当然最简单的是直接在设置页面按返回键。更好的方法在别人的blog中有提到。贴上链接:htt
iOS 连续多次present 之后,想回到最初的viewController
// The view controller that was presented by this view controller or its nearest ancestor. 此视图控制器的视图控制器或其最近的祖先。 @property(nullable, nonatomic,readonly) UIViewController *presentedViewControl
从Fragment跳转到Activity然后返回到指定的fragment页面
现在有这么一个需求:有两个fragment,分别为FA和FB依附在MainActivity,从FA跳转到页面ActivityC后,点击某个按钮进行一些逻辑后跳转到指定的FB页面。 1.从FA跳转到页面ActivityC 在startActivityForResult(intent, requestCode);方法前面加 getActivity(). 可以让FA的宿主MainActivity启动目标...
微信网页返回到前一列表的历史位置(解决方案)/兼容苹果
这段时间php遇不到什么大的问题,后端的改动也不大,反而是公司的前端开发出了点小问题,这两天,我就针对如何恢复微信网页的历史列表页面做了下实验和探讨,好了,说完废话,就开始吧。场景:在微信公众号中开发微信商城时,经常会遇到如下所示商品列表页面: 而这些页面的数据都是通过ajax请求得到,在点击跳转离开页面后,再进行返回操作,结果发现该页面的数据重新加载了,这就导致了不好的用户体验(因为正常应该
当点击“新增”或“修改"按钮进行跳转后,又想回到原来的页面?
我们有时可能需要这种需要,当点击修改按钮后,跳转到了一个页面, 之后想点击“取消”回到之前的那个页面。 点击修改后跳转的页面是: 现在想点击修改回到原来的页面:<a class="btn btn-primary" href="javascript: void(0);" role="button" onclick="window.location.href=document.referrer;
实现网页原路返回:从哪个页面跳转过来就返回哪个页面
一、需求 导航对于PC网站或WAP网站有着相当重要的作用,它有利于提升用户体验,不至于让用户迷路。而“返回”就是导航的功能之一,主要体现在WAP网页左上角的“返回”按钮或链接。这里“返回”是指原路返回,即从哪个页面跳转过来就返回哪个页面。或许你会想,浏览器不是有返回按钮吗?JS不是提供了history.go(-1)或history.back(-1)来实现这个功能吗?对于简单情况这...
iOS开发:在界面之间跳转的时候,返回到指定界面的方法(界面跳转到新界面之后,返回到指定界面)
在界面之间跳转的时候,返回到指定界面的方法,这是一个非常实用的方法,也符合了很多种情况需求,个人感觉很棒。 先举一个简单的例子说明一下,比如你从A界面跳转到B界面,然后再返回的时候,你不想从B界面跳转返回到A界面,你想让它返回到C界面或者D界面等等,那么就可以用到这个返回到指定界面的方法来实现。 具体步骤如下: 1.首先在需要返回界面的控制器里面导入你需要返回的界面的头文件; 2.在返回方...
如何在页面跳转后,再返回上级页面时,保留检索条件,刷新内容
场景: 主页面: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...
详情页返回列表页时保持原来的位置
3种方法去实现, 1.设置锚点锚点1 锚点 锚点5 1111111 --> --> 2.缓存历史数据,包括cookies,sessionstorage sessionStorage.setItem("ke
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...
MUI-返回到首页(任意的父级页面)并刷新(或做其他操作)
关于如何返回到首页(任意的父级页面)可以参考《MUI-返回到首页(任意的父级页面)》这篇文章。本文主要讲解如何刷新页面(或对页面做其他操作),并在【返回到首页(任意的父级页面)】功能的基础上扩展刷新(或做其他操作)功能。 如何刷新页面? 刷新页面的方式有两种:一种是整体刷新,一种是局部刷新。下面将逐一介绍。 整体刷新 整体刷新就是重新加载页面,一般会出现闪...
AndroidStudio如何回到首页面
-
Android 如何保证App切换到后台,或页面跳转后,重新打开APP、或返回之前页面时,维持其状态不变
项目中遇到的一些小问题,记录、分享一下。 Android 如何保证App切换到后台,或页面跳转后,重新打开APP、或返回之前页面时,维持其页面状态不变?
解决Android页面跳转时回退到桌面的问题
两个Activity跳转时不应执行任何耗时的操作,否则Android系统会回退到桌面再启动下一个Activity 测试机型:OPPO R9
JS页面跳转到指定页面&返回上一页
跳转 第一种(跳转到b.html): window.location.href=“b.html”; 第二种(返回上一页): window.history.back(-1); 第三种(跳转到b.html): window.navigate(“b.html”); 第四种: self.location=’b.html’; 第五种: top.location=’b.html’; ...
vue页面出去时vux存页面高度,再进来时回到原来高度
        //html文件 created(){ }, beforeRouteLeave(to, from, next) { //从这个页面出去的时候执行这里     try {       let top = document.documentElement.scrollTop || document.body.scrollTop; // 得到当前高       let sc...
React-Redux 恢复列表页跳转明细页之后返回列表状态
场景:     一、 单页面web程序中列表页有1000条数据,点击一条数据跳转到详细页,然后详细页放回列表页保存列表页有1000条数据不变。 解决方案     一、用新窗口打开详细页面不让用户返回。     二、如果是APP模式,监控发起URL地址发现打开链接类型:_blank,   弹出一个新的 webview窗口去承载详细页。      三、用redux保存当前列表数据状态,注入路
web页面点击按钮唤起App跳转到指定页面以及返回键的处理
1.在需要跳转的指定页面的AndroidManifest中配置 &amp;lt;activity android:name=&quot;.activity.goods.GoodsDetail&quot; android:configChanges=&quot;keyboardHidden|orientation|screenSize&quot; //点击返回时跳转的activity android:parentAct...
Activity多级界面跳转不断返回上一个界面解决方案
只要写在你需要跳转的地方即可 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 防止返回时不断的返回上一次入栈的Activity,以后遇到此类问题只要多看看Activity的生命周期
Android开发之MainActivity界面跳转详细程序
Android开发之MainActivity界面跳转详细程序,实现界面跳转
android tabhost tab内多个activity的跳转及返回
1:解决了tabhost 位于底部的问题; 2:解决了tabhost 一个tab页中多个activity的跳转及返回问题。
java刷新页面不回到顶部
今天遇到刷新页面不回到顶部的需求,window.location.reload();方法已经解决了问题,但是ie8不支持,后来采用的是锚点这个方法 window.location = '/plan/getList.action#md';
带有分页的列表的跳转后,返回时怎么实现保留分页的页数等信息
我们通过一个列表,进入了下一个页面,返回列表页面的时候,怎么实现保留页面数据 eg:当我们从列表的第4页去编辑这条信息,那么当编辑完成后我们是不是返回到列表页,那么列表页应该显示第几页的数据呢? 解决方案:(楼主的项目是vue+element)  携带参数 当页面跳转的时候,将页码等需要保存的数据,放在路由的参数中,传递到跳转页面,当完成后,最后回调回来,将参数带回来,初始化列表数据。...
react native 原生页面跳转到React页面,react页面回退到原生页面实现。
1.最新实现方式,只要继承ReacActivity,重写getMainComponentName()方法。内部已实现。2.以前实现方式,实现DefaultHardwareBackBtnHandler接口,在ReactInstanceManager 设置DefaultHardwareBackBtnHandler为当前activity即可。具体代码:public class TestRNActivit...
用hash解决微信开发无刷新切换页面返回时滚动条会回到顶部
1.==》2.==》3.==》4.        见上述四张图的过程,图1为“记录列表页”,一开始打开“记录列表页”,滚到页面底部,选择最后一条记录,点击,会进入图3“记录详情页”,然后后退,就可以无刷新切换页面。做法很简单:        ①“记录列表页” ; "记录详情页" ;        ②进入页面后,location.hash = "record";然后$("#record").s
多次presentViewController后,直接返回到初始的viewcontroller
3个viewcontroller: A, B, C [A presentViewController: B animated: YES] [B presentViewController: C animated: YES] C直接返回到A:[c.presentingViewController.presentingViewController dismissViewControl
【android】关于多个activity页面跳转,跳过中间页面返回前边页面传值
这是一个面试中被问到的题目,答得不是很好,后来经过自己敲代码尝试发现了一个解决思路。 我可以把这个问题具体化。比如有一个需求,给你三个页面A,B,C,要求A可以跳转到B页面,并传值,B可以跳转到C页面,并传值,C页面直接返回A页面,并且把C页面的值直接给A页面。
android 三级界面返回直接到一级界面
从一级界面用intent跳到二级界面,在从二级界面跳到三级界面这个时候在 传递下面一个finish() 这样二级界面就不存了,跳到三级界面在返回的时候就直接 到一级界面了,这样不用在intent跳到到一级界面了。
Flutter开发(十二)—— 页面跳转与返回
示例代码: import 'package:flutter/material.dart'; main(List&lt;String&gt; args) { runApp(MaterialApp( title:'', home: FristScreen(), )); } class FristScreen extends StatelessWidget { @over...

相似问题

3
Vue从一个页面跳转到一个页面 在返回,第一个页面的js无法使用了,这是为什么 求大神指教
2
java如何实现jsp调用servlet后页面不跳转
4
支付宝扫码支付完成后如何跳转跳转页面
1
求助:React-Navigation 多次跳转到统一页面返回的问题?
3
android eclipse实现跳转不同的页面
2
ASP.NET MVC项目,自动生成的登陆功能中如何抓取用户某项数据并判断后跳转到不同页面?
0
ant design pro页面跳转的时候传值问题?
2
Android中intent问题页面无法跳转
2
小程序怎么跳转到手机APP下载页面?
2
使用springMVC框架,ajax请求的时候如何后台实现页面跳转?
3
关于vue的页面跳转后,如何每次进入页面时都能获取后台数据。
1
springBoot静态页面跳转怎么配置?
3
Android Tablayout切换页面前验证当前fragment页面数据是否正常,否则不切换
3
【小白求助】JavaWeb页面跳转问题
3
Android页面fragment要怎么写,左边按钮,右边不同listview
1
微信小程序能不能实现用button绑定点击事件,跳转到目标页面里设置的swiper的页面啊
0
两个页面同时嵌入QQuickwidget时,程序跳转页面卡死
1
js如何实现手机网站按回退键,跳转到百度,再按回退键,跳转到新浪,以此类推,最后跳转回本页面
1
django 如何实现用户和管理员从同一个login页面登录后跳转到不同页面上?
1
Android Studio添加了内部存储读取并且判断用户名和密码之后无法跳转到下一个页面,有没有人帮忙看一下的