0

Im trying to getAll strings from a SharedPreferences file with particular keys.

Here is my code

private void updateListView() {
    final ListView lvCheckList = (ListView) findViewById(R.id.lvCheckList);
    Map<String,?> keys = checkListData.getAll();

    ArrayList<String> checkListStrings = new ArrayList<String>();
    for(Map.Entry<String,?> entry : keys.entrySet()){
         if (entry.getValue() instanceof String) {
         if (entry.getKey() == currentList + "ItemName") {
            checkListStrings.add((String) entry.getValue());
        }
         }

    ArrayAdapter<String> checkListArrayAdapter = new ArrayAdapter<String>(
            this, android.R.layout.simple_list_item_1, checkListStrings );

    lvCheckList.setAdapter(checkListArrayAdapter); 
}

}

The line:

if (entry.getKey() == currentList + "ItemName") {

is causing the problem. The result of this is an empty ListView. Ideas?

Here is how the strings are saved to the shared preferences:

String checkListStringData = etItemName.getText().toString();
checkListData = getSharedPreferences(filename,0);
SharedPreferences.Editor checkListEditor = checkListData.edit();
checkListEditor.putString(checkListStringData + "ItemName", checkListStringData);
checkListEditor.commit();

and currentList is a string whos value is determined by an item clicked in a different listview.

Sai Barker
  • 83
  • 3
  • 13

0 Answers0