Автоматическое сохранение редактирования текстового значения и выбор переключателя

У меня есть группа переключателей, и у каждого переключателя есть один текст редактирования, я хочу сохранить текстовое значение редактирования или значение переключателя при выходе из фокуса, выполнить автоматическое сохранение, когда фокус выключен. пожалуйста, помогите мне.

Заранее спасибо.


person Tushar Patil    schedule 09.10.2014    source источник
comment
@Tushar Patil Вы можете легко получить ответ на демонстрационных уроках... и этот вопрос может дублироваться. поэтому задайте свой вопрос после НИОКР. Вам поможет....   -  person Sarat Patel    schedule 11.06.2015


Ответы (2)


Вы можете использовать TextWatcher, чтобы сделать что-то после onTextChanged, beforeTextChanged и afterTextChanged.

Вот пример:

            final EditText ed = findViewById(R.id.edittext);
            final TextView tv = findViewById(R.id.textview);

            ed.addTextChangedListener(new TextWatcher() {

                @Override
                public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {

                }

                @Override
                public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                        int arg3) {

                }

                @Override
                public void afterTextChanged(Editable arg0) {
                    //Save Your Text With SharedPreference
                    SharedPreferences sp = getSharedPreferences("TEST", 0);
                    SharedPreferences.Editor ed_sp = sp.edit();
                    ed_sp.putString("myText", ed.getText().toString());
                    ed_sp.commit();
                    ShowSavedText();

                }
                void ShowSavedText(){
                    SharedPreferences sp = getSharedPreferences("TEST", 0);
                    String savedText = sp.getString("myText", "");
                    tv.setText(savedText);
                }
            });
person Amir    schedule 09.10.2014
comment
Вы уверены, что ваш метод ShowSavedText принадлежит TextWatcher? Я бы поместил этот метод вне анонимного класса. - person winklerrr; 24.03.2017

вот ответ на ваше требование.

edit_Text.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
    Toast.makeText(getApplicationContext(), "got the focus",        Toast.LENGTH_LONG).show();
}else {
    Toast.makeText(getApplicationContext(), " auto save Here",     Toast.LENGTH_LONG).show();
}

} });

Надеюсь, это будет полезно.

person khurram    schedule 09.10.2014