History 항목 (단어)을 SharedPreferences에 저장하고 History는 ListView에서보기에 잘로드됩니다. 나는 다음의 ListView에서 특정 항목을 삭제하려면 다음 코드 줄을 사용ListView 및 SharedPreferences에서 특정 항목을 제거하는 방법?
@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
}
선택한 항목은 definetely ListView에 제거되지만이 저장되어있는 된 SharedPreferences에서 삭제되지 않습니다. 결과적으로, Listview가 다시로드 될 때 항목은 계속 남아 있습니다.
내 질문 : 어떻게 SharePreferences에서 선택한 항목을 제거하도록 코드 할 수 있습니까? 의미 : ListView 및 SharedPreferences에서 선택한 항목을 제거하려면 어떻게해야합니까?
Android의 새로운 기능이므로 내 코드를 기반으로 지침을 제공 할 수 있다면 좋을 것입니다. 고맙습니다.
많은 감사를 시도 할 확인하십시오. 내 문제는 ListView에서 제거 된 항목 인'theKey'를 정의하는 방법입니다. 이 항목은 ListView에 표시된 단어 일 수 있습니다. 그렇다면이 항목의 SharedPreferences를 알리는 방법은 무엇입니까? –
환경 설정 키의 값을 정의하는 것은 간단합니다. 'editor.putString (key, value);'를 사용하여 값에 키를 할당 하시겠습니까? 위의 코드처럼 환경 설정에 환경 설정/값이 실제로 포함되어 있는지 확인하고 있습니다. http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#remove(java.lang.String) 및 http://developer.android.com/reference/android/content/를 읽어보십시오. SharedPreferences.html # contains (java.lang.String)에 대한 자세한 설명이 나와 있습니다. 이것이 도움이 되었다면, 답변을 수락하십시오. 고마워요 – Wesley
아직 내 문제를 해결하지는 못했지만 내 생각에는 자바 문제에 대한 책임이 제한적이라고 생각합니다. 귀하의 지원은 어쨌든 답변입니다. 감사. –