1

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

      }

    }

どうもありがとうございました。

4

2 に答える 2

2

アプリケーションが次のように閉じられるときに、onPause()選択した値を保存するための Activity のオーバーライド: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");
于 2012-12-16T15:52:54.090 に答える
0

この投稿でこれを行う方法を詳しく説明します。edittext にアイテムを入力するたびに、入力した x 個の最後のアイテムを保持するスピナーに保存されます。アプリをアンインストールするか、データを手動で消去するまで、メモリは残ります。

于 2013-06-05T19:28:26.377 に答える