如何保存我的微调器输入?

时间:2012-12-16 15:35:16

标签: android eclipse save spinner

我创建了一个微调器,我希望在关闭应用程序时保存所有微调器输入。我能怎么做?我认为共享偏好可以帮助我,但我不知道如何使用它! 这是我的代码:

 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()); 

      }

    }

非常感谢你的帮助..

2 个答案:

答案 0 :(得分:2)

在应用程序即将关闭时,覆盖onPause()的活动以在Shared Preferences中保存所选值:

@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");

答案 1 :(得分:0)

我详细介绍了如何在this post中执行此操作。每次在edittext中输入一个项目时,它都会将其保存到包含您输入的x个最后项目的微调器。在您卸载应用程序或手动清除数据之前,内存会一直存在。