我将 History 项目(单词)保存到 SharedPreferences,并且 History 已很好地加载以在 ListView 中查看。然后,我使用这些代码行从 ListView 中删除特定项目:
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.edit:
editNote(info.id);
return true;
case R.id.delete:
String content = (String) mLSTHistory.getItemAtPosition(info.position);
aptList.remove(content);
aptList.notifyDataSetChanged();
deleteNote(info.id);
return true;
default:
return super.onContextItemSelected(item);
}
}
private void deleteNote(long id) {
// TODO Auto-generated method stub
if (prefs.getBoolean("saveHistory", true) && mWordHistory != null && mWordHistory.size() >= 1)
prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
StringBuilder sbHistory = new StringBuilder();
for (String item : mWordHistory)
{
sbHistory.append(item);
sbHistory.append(",");
String strHistory = sbHistory.substring(0, sbHistory.length()-1);
SharedPreferences.Editor editor = prefs.edit();
//editor.remove(content);
editor.putString("history", strHistory);
editor.commit();
}
}
private void editNote(long id) {
// TODO Auto-generated method stub
}
选定的项目肯定会从 ListView 中删除,但不会从保存它的 SharedPreferences 中删除。因此,当重新加载 Listview 时,该项目仍然存在。
我的问题是:我如何编码以从 SharePreferences 中删除选定的项目?我的意思是如何从 ListView 和 SharedPreferences 中删除所选项目?
如果您可以根据我的代码提供说明,那就太好了,因为我对 Android 还很陌生。非常感谢你。