问题描述
- 如何在当前的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 中访问?
解决方案
你返回的话activity就消毁了,所以你的数据要永久化,保存到文件中或者...
建议:将selected保存到SharedPreference中
SharedPreference sp = PreferenceManager.getDefaultSharedPreference();
Editor editor = sp.edit();
editor.putString(selected);
editor.commit();
下次进来再读出来比较一下就可以了。。。
上面代码是手打的,不要复制。。。
解决方案二:
使用一个 ArrayList,添加所有的 selected 字符串,用下面的代码来比较:
list.get(last) == list.get(last-1);
如果你只想比较之前的和现在创建的值,使用 sharedprefrence。
时间: 2024-11-02 04:59:34