2013-08-26 6 views
0

Во-первых, я использовал общие настройки для моего приложения для отправки данных из одной активности в другую, когда в первый раз щелкнут список, но у меня есть проблема, когда я нажимаю другой список, деталь из этого другой список совпадает с первым.
Когда я пытаюсь использовать намерение, он все тот же. Я использовал:Не удается удалить SharedPreferences

settings.edit().clear().commit(); 

и

settings.edit().remove().commit(); 

, но он не работает. есть ли какие-то ошибки? это моя первая деятельность:

lv.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
//    SharedPreferences settings = getSharedPreferences("PREFS_NAME", 0); 
//    settings.edit().clear().commit(); 
//    settings.edit().remove("nama").commit(); 
//    settings.edit().remove("alamat").commit(); 
//    settings.edit().remove("ket").commit(); 
//    settings.edit().remove("img_id").commit(); 
//    settings.edit().remove("telp").commit(); 
//    settings.edit().remove("begdate").commit(); 
//    settings.edit().remove("enddate").commit(); 

       Intent detail= new Intent (TerbaruSimasCard.this, TerbaruDetail.class); 
       detail.putExtra("nama", nama); 
       detail.putExtra("alamat",alamat); 
       detail.putExtra("ket", ket); 
       detail.putExtra("telp",telp); 
       detail.putExtra("begdate", begdate); 
       detail.putExtra("enddate",enddate); 
       detail.putExtra("img_id", img_id); 

//    SharedPreferences settings = getSharedPreferences("PREFS_NAME", 0); 
//    settings.edit().clear().commit(); 
//    startActivity (detail); 
//    Intent detail= new Intent (TerbaruSimasCard.this, TerbaruDetail.class); 
       startActivity (detail); 

//    SharedPreferences settings = getSharedPreferences("PREFS_NAME", 0); 
//    SharedPreferences.Editor editor = settings.edit(); 
//    editor.putString("nama", nama); 
//    editor.putString("alamat",alamat); 
//    editor.putString("ket", ket); 
//    editor.putString("telp",telp); 
//    editor.putString("begdate", begdate); 
//    editor.putString("enddate",enddate); 
//    editor.putString("img_id", img_id); 
//    editor.commit(); 
//    System.out.println(nama+"nama"); 

      } 

Это моя вторая активность:

Intent detail= getIntent(); 
     nama=detail.getStringExtra("nama"); 
     alamat= detail.getStringExtra("alamat"); 
     ket= detail.getStringExtra("ket"); 
     img_id= detail.getStringExtra("img_id"); 
     telp= detail.getStringExtra("telp"); 
     begdate= detail.getStringExtra("begdate"); 
     enddate= detail.getStringExtra("enddate"); 

//  SharedPreferences settings = getSharedPreferences("PREFS_NAME", 0); 
//  settings.edit().clear().commit(); 
//  settings.edit().remove("nama").commit(); 
//  settings.edit().remove("alamat").commit(); 
//  settings.edit().remove("ket").commit(); 
//  settings.edit().remove("img_id").commit(); 
//  settings.edit().remove("telp").commit(); 
//  settings.edit().remove("begdate").commit(); 
//  settings.edit().remove("enddate").commit(); 
//  nama= settings.getString("nama", null); 
//  alamat = settings.getString("alamat", null); 
//  ket= settings.getString("ket", null); 
//  img_id = settings.getString("img_id", null); 
//  telp= settings.getString("telp", null); 
//  begdate = settings.getString("begdate", null); 
//  enddate = settings.getString("enddate", null); 

У меня есть сила остановился, очистили кэш моего приложения и удалить его, но он по-прежнему не работает. Есть ли какие-либо ошибки в моем методе?

+0

где вы инициализируете эти переменные..у и инициализируете все их правильно во втором списке или ur, используя те же переменные, которые были переданы из первого действия. ..check it. – bakriOnFire

+0

Используйте намерения отправлять данные из одного вида деятельности в другой. – benestar

+0

Что именно вы хотите? вы хотите очистить «SharePreference» или вы не можете передавать данные из «SharePreference» из одной активности в другую? –

ответ

1

Если вы хотите, чтобы удалить ключ из SharePreference по clearing в editor

editor.clear(); 
    editor.commit(); 
1

Посмотрите на этот код:

settings.edit()

Каждый раз, когда вы используете этот код, появится новый редактор. Поэтому вам следует сделать так:

Editor editor = setting.edit(); 
editor.remove("nama"); 
...... 
editor.remove("enddate"); 
editor.commit(); 

Удачи. enter code here