2

2 つの edittexts( et1,et2) からテキストを保存し、3 つのスピナー (spinnerm、spinner、および spinner2) からの選択を onPause で保存し、onResume に戻します。edittexts からのテキストは正しく保存されますが、スピナーの選択のみが期待どおりに機能しません。私のコード:

  public void onResume(){
     super.onResume();
     Log.d("REZUM","notr smo");
     SharedPreferences seti = getSharedPreferences( "pavzica", MODE_PRIVATE);

     spinnerm.setSelection(seti.getInt("m", 0));
         spinner.setSelection(seti.getInt("k", 0));
         spinner2.setSelection(seti.getInt("p", 0));
         et1.setText(seti.getString("zade", ""));
         et2.setText(seti.getString("Vseb", ""));




 }

public void onPause() {
    shraniPolja();
    super.onPause();
}


public void shraniPolja() {
    SharedPreferences seti = getSharedPreferences( "pavzica", MODE_PRIVATE);
    SharedPreferences.Editor edito = seti.edit();

    edito.putString("zade", et1.getText().toString());
    edito.putString("Vseb", et2.getText().toString());
    edito.putInt("m", spinnerm.getSelectedItemPosition());
    edito.putInt("k", spinner.getSelectedItemPosition());
    edito.putInt("p", spinner2.getSelectedItemPosition());
    edito.putBoolean("b", true);
    edito.commit();

}

私は何を間違っていますか?

4

1 に答える 1

1

setSelection / setText を呼び出した後、ビューを無効にする必要があります。

mYourView.invalidate(); でビュー全体を無効にすることができます。または、ビューの一部または特定のドローアブルを無効にすることもできます。 View クラスのドキュメントを参照してください

再開時にスピナーが値に達したときにスピナー アニメーションを実行する場合は、2 番目のブール値パラメーターを持つ setSelection の形式を使用し、true を渡します。

于 2010-05-09T02:35:44.663 に答える