2012-07-17 76 views
0

我遇到了兩個問題。如何將數據從sharedPreference加載到ListView行?

1)如何讓我的row.xml在我listview.xml顯示?

在我的Java I類擴展ListActivity,並使用代碼:

ListView listView = (ListView)findViewById(R.id.list); 
ArrayAdapter<?> arrayAdapter = new ArrayAdapter<?>(this, R.layout.row 

我不知道如何完成這一點。

2)如何加載我救了我的sharedPReference這兩個字符串值到我行數據?

我的代碼,節省了兩個stringvalues是:

String product = "Health Vitamins"; 
String category = "Nutrition"; 
savePreference("NAME", product); 
savePreference("NUTRITION", category); 

然後我用putString(鍵,值)和commit()在我的savePreference方法。當我想要加載數據時,我只需使用loadPreference(),它將使用getString(「NAME」,「」)和getString(「NUTRITION」,「」)並檢索數據。

問題是怎麼做的我居然把我檢索到的數據列表視圖我row.xml?例如,一旦loadPreference()方法被調用,它是假設檢索兩個字符串值並將其放置在行中?有任何想法嗎?

+0

將數據從SharedPreferences中提取出來並放入您傳遞給ArrayAdapter的String []中。 – 2012-07-17 19:25:17

+0

嗨,謝謝你的建議。我仍然有點困惑,你介意展示一個代碼的小代表? – 2012-07-17 19:28:13

回答

0
String[] data = //load the array here. 

adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, android.R.id.text1, data); 

無論你想放入你的數組。這可能是您的共享首選項值。但是,那麼爲什麼你會使用共享首選項,因爲它使用鍵值對。而且你不能在鍵上翻倍,這意味着你的列表總是會有1個或最多2個條目。

+0

該關鍵字不一定是NAME。這將是產品的名稱,例如,LOTION,SOAP,SHAMPOO,TOOTHPASTE。 – 2012-07-17 20:05:21

+0

嘿,我不能得到它的工作。基本上我有一個在另一個類中定義的ArrayList ,它簡單地將類活動的名稱保存到一個字符串文件中。字符串值是類的名稱,這些是arrayList()中的項目;我基本上試圖檢索具有已保存的sharedPreferences產品和類別的ArrayList()。我如何得到它在列表視圖中顯示所有項目(產品)?我的最終目標是創建一個歷史活動,顯示過去10項活動以前的活動。如果可以的話請幫忙? – 2012-07-17 20:35:45

+0

你能夠將這個字符串數組存儲在一個可以傳遞的對象中嗎?何時何地填充數據?您也可以使用SQLite輕鬆地在內部數據庫中執行此操作。 – 2012-07-18 11:49:38

相關問題