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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!