2011-11-10 129 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