2012-12-16 26 views
1

我創建了一個微調框,並且當我關閉我的應用程序時,我想保存所有微調框輸入。我能怎麼做?我認爲共享偏好可以幫助我,但我不知道如何使用它! 這是我的代碼:如何保存我的微調器輸入?

private Spinner spinner; 
     private EditText Text; 
     private ArrayAdapter<String> adapter; 
     private Button addButton; 

     public void onCreate(Bundle savedInstanceState) 
     { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Text = (EditText) findViewById(R.id.et); 
     final List<String> planets = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.clienti_arrays))); 
     adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, planets); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

     spinner = (Spinner) findViewById(R.id.spinner1); 
     spinner.setAdapter(adapter); 


     addButton = (Button) findViewById(R.id.add_new); 
     addButton.setOnClickListener(new OnClickListener() 
     { 
      public void onClick(View v) 
      { 
      addNewSpinnerItem(); 
      Collections.sort(planets); 

      } 
     }); 
     } 

     protected void addNewSpinnerItem() 
     { 
     String textHolder = "" + Text.getText().toString(); 
     adapter.add(textHolder); 

     } 

     public int compare(String s1, String s2) { return s1.toLowerCase().compareTo(s2.toLowerCase()); 

     } 

    } 

非常感謝您的幫助..活動保存在Shared Preferences選擇的值時,你的應用程序要儘可能接近的

回答

2

覆蓋onPause()

@Override 
public void onPause() 
{ 
    // get Spinner Slected text here 
    String selectedtext = spinner.getSelectedItem().toString(); 

    //Create SharedPreferences to store selected value 

    SharedPreferences spinnerPrefs = this.getSharedPreferences("spinnerPrefs", 
                  MODE_WORLD_READABLE); 
    SharedPreferences.Editor prefsEditor = spinnerPrefs.edit(); 
    prefsEditor.putString("spinner_selectedtext", selectedtext); 
    prefsEditor.commit(); 

    super.onPause(); 

} 

並檢索保存在SharedPreferences中的值:

SharedPreferences spinnerPrefs = this.getSharedPreferences("spinnerPrefs", 
                  MODE_WORLD_READABLE); 
String selectedtext = spinnerPrefs.getString("spinner_selectedtext", 
                  "nothing_selected"); 
+0

它不起作用。給我一個錯誤!在\t \t String selectedtext = spinner.getSelectedItem()。toString(); – Ormet

+0

@Ormet:如果你與我分享這個錯誤,你會得到什麼錯誤,那麼我們將盡快解決它 –

+0

它使我這個錯誤︰在SharedPreferences中的android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:146)spinnerPrefs = this。 getSharedPreferences(「spinnerPrefs」, MODE_WORLD_READABLE); – Ormet

0

我詳細說明了如何在this post中做到這一點。每次在edittext中輸入一個項目時,都會將其保存到包含您輸入的x個最後一項的微調器。內存一直保留到您卸載應用程序或手動清除數據。