2 o casper ne O_Casper_ne 于 2013.03.18 14:15 提问

如何在当前的activity中保存数据,下次可以在相同的activity中访问?

在一个列表中有一些数据的列表,我想在点击的时候,把它发送到其它的 activity。
使用 intent 发送数据

Intent i = new Intent(MainActivity.this,AppDiscription.class);
                    i.putExtra("NAME", s);
                    i.putExtra("AMT", Appname);
                    i.putExtra("COUNT", cnvert);
                    i.putExtra("SELECTEDID", selectedFromList);
                    startActivity(i);

on receiving activity:

if (extras != null) {

            Appname = extras.getString("NAME");
            total = extras.getString("AMT");
            count = extras.getString("COUNT");
            selected = extras.getString("SELECTEDID");
}

现在我要把"selected" 保存到这个 activity 的变量中,这样我就可以与新
"selected" 的数据做比较。这个新的数据是当我点击 listview 时,来自下一个 intent 的数据。
那么如何在当前的 activity 中保存数据,下次可以在相同的 activity 中访问?

2个回答

wu_shu_jun
wu_shu_jun   2013.03.18 18:03
已采纳

你返回的话activity就消毁了,所以你的数据要永久化,保存到文件中或者...

建议:将selected保存到SharedPreference中

SharedPreference sp = PreferenceManager.getDefaultSharedPreference();
Editor editor = sp.edit();
editor.putString(selected);
editor.commit();

下次进来再读出来比较一下就可以了。。。

上面代码是手打的,不要复制。。。

curie_87
curie_87   2013.03.22 16:25

使用一个 ArrayList,添加所有的 selected 字符串,用下面的代码来比较:

list.get(last) == list.get(last-1);

如果你只想比较之前的和现在创建的值,使用 sharedprefrence。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Activity嵌Fragment,如何切换时保存当前数据
使用这种用法先熟悉Fragment的生命周期,如下图所示,所以在一个Activity中切换Fragment时,会有数据被清空的情况,下面大致讲下如何保存当前页面数据,不用再次请求网络 Activity切换Fragment的方法如下:注意加粗代码,否则Fragment的getArguments会报null异常 switch (arg0.getId()) { case R.id.hom
activity的数据状态保存:自己的一点经验
Activity状态保存的一般过程(自己喜欢的一种方式)  当activity被系统销毁(一般是内存吃紧时,系统把位置后台不可见的activity销毁了)时, 类似的代码如下: 1 在onSaveInstanceState(Bundle outState)中保存数据和状态 static final String STATE_SCORE = "playerScor
【Android面试】(一):Android中activity保存状态和数据到底该在哪个方法中进行
面试中被问到:Android中activity保存状态数据到底该在哪个方法中进行,面试官也不一定靠谱
保存Activity被系统回收前的状态
Activity被销毁的两中情况 Activity被销毁的情况大致可分为两种。 一是正常行为。如当用户按了手机的back键或者activity调用自己的finish()方法而被销毁。 另一种是非正常行为。如activity处于stop状态而且长期没有被使用,或者是前台的activitiy需要更多的资源因此系统必须关闭后台进程以回收内存。 Activity状态能保存的情况 当activit
android销毁Activity和被系统销毁时的数据保存
//定义map,保存启动的 activitys
Android开发之保存和恢复Activity的状态与数据
今天面试的时候面试官问我当按home键的时候 再次进入的时候怎么保存activity的数据和状态 ,瞬间现场蒙逼 ,回来马上做笔记。。。
android重新创建Activity时状态的保存和恢复
在有些情况下,您的Activity会因正常应用行为而销毁,比如当用户按 返回按钮或您的Activity通过调用 finish()示意自己的销毁。 如果Activity当前被停止或长期未使用,或者前台Activity需要更多资源以致系统必须关闭后台进程恢复内存,系统也可能会销毁Activity。 当您的Activity因用户按了返回 或Activity自行完成而被销毁时,系统的 Activ
Activity页面状态保存 持久化
本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceState(),并且在介绍这两个方法之后,再分别来实现使用InstanceState保存和恢复数据功能、Android实现屏幕旋转异步下载效果这样两个示例。   首先来介绍onSaveInstanceState() 和 onRestoreIns
如何从当前activity再次进入当前activity
+++++++++++++欢迎讨论和交流++++++++++++++++++++++ 引入: 我在公司负责了一个阅读器上的笔记软件,可以供用户签字,画画,涂鸦,以及再次修改画画的功能,在内部可以新增页面和删除页面等众多操作供用户选择。 /* * Copyright (C) 2007 The Android Open Source Project * Copyright
service启动activity同时需要得到activity里的某个对象实现方法
本人android小菜鸟一只,最近因为某一个顽强的大boss bug困扰鄙人2天之久。 其根本问题就是startactivity的启动过程是放在一个ui线程里面执行的。 所以,当我在service里面startactivity,然后在service里面调用activity里面的某个getHandler方法之时,发现获取到的hanler是空。 经过调查才明白,startactivity是把ac