1

ユーザーが数字または文字列を入力する単純なeditTextがあります。ユーザーが再びアプリに入ったときに、その番号または文字列を保持したいと思います。

4

3 に答える 3

1

preference1.最初にこれをこのように保存します

 SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
        SharedPreferences.Editor prefsEditor = myPrefs.edit();
        prefsEditor.putString(MY_NAME, edittext.getText().toString());
        prefsEditor.putString(MY_WALLPAPER, "f664.PNG");
        prefsEditor.commit();

2.これで2回目はこれを使用するたびに通過します

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
        String prefName = myPrefs.getString(MY_NAME, 0);
        String wallPaper = myPrefs.getString(MY_WALLPAPER, null);
于 2012-08-06T15:40:24.977 に答える
0

次のようなことができるようです。EditTextの変更されたリスナーで文字をカウントする

次に、テキストが変更されたことを検出したら、それをに保存できますSharedPreferences

または、ユーザーがアプリを離れる/アプリに入るときにのみ永続化したい場合はonPause()、アクティビティのメソッドをオーバーライドして、に保存することができますSharedPreferences。を使用<EditText>.getText()して文字列を入力し、保存します。オーバーライドしてから、アプリに入ったときにそれを復元するためにonResume()使用します。<EditText>.setText(<String from SharedPreference>)

SharedPreferencesの使用方法を知っていると思いますが、知らない場合はお知らせください。

于 2012-08-06T15:38:52.127 に答える
0

このコードは、ユーザーがOnFocusChangeListenerを使用してEditTextボックスからフォーカスを削除したときにデータを保持します。

EditText userInput = (EditText)findViewById(R.id.ID_HERE);
SharedPreferences pref = this.getPreferences(this.MODE_PRIVATE);

String data_key = "data";

View.OnFocusChangeListener persistData = new View.OnFocusChangeListener(){

    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        // TODO Auto-generated method stub
        if(!hasFocus){
            EditText e = (EditText)v;
            SharedPreferences.Editor edit = pref.edit();
            edit.putString(data_key,e.getText().toString());
            edit.commit();
        }
    }

};

userInput.setOnFocusChangeListener(persistData);
于 2012-08-06T15:40:24.200 に答える