2011-11-10 83 views
0

的Android SavePreferences我试图从一个ListView保存的喜好,使用下面的代码,我可以从一个EditText保存价值:从列表视图

etpref = (EditText) findViewById(R.id.etpreftest); 
SavePreferences("testpr", etpref.getText().toString()); 

然后我找回它与

SharedPreferences sp = PreferenceManager 
     .getDefaultSharedPreferences(context); 
     String strtestpr = sp.getString("testpr", null); 

if (strtestpr.contains(body)) { 
    //do something 
} 

我需要做的是将项目中的值保存在ListView中,并以相同的方式使用它们(如果可能的话)。我知道可以使用此代码从列表中的单个项目/行中进行保存,但这没有帮助。

回答

0

您使用什么数据结构来支持ListView?你使用什么适配器类型?您应该能够使用该适配器所需的任何东西?例如,如果它是一个ArrayAdapter,每次用户在您的列表中编辑某些内容时,都应立即将新值存回您的数组中。这样,你可以随时找回他们。

只要将它们存储在共享首选项中,就不能真正将数组存储在SharedPreferences中。你最好的选择是将它们保存到数据库中。但是,如果您不关心字符串存储的顺序,或者它们映射到任何内容,则可以使用putStringSet()

+0

即时通讯使用sqlite。该应用程序几乎完成,我需要的是能够检查列表视图的内容,如果当前字符串等于或包含列表视图的行中的任何值,然后做一些事情(希望使sence)..其填充列表视图的用户,所以它可能有1个项目或100 – steo

+0

好吧,你有没有尝试过我上面说的? –

+0

我不在乎那里存储的订单,即时通讯仍然是非常新的这一点,并不确定我会怎么去使用putStringSet()你知道这个的任何工作的例子吗? – steo