невозможно изменить значение edittext из-за textwacher во фрагменте

У меня есть список во фрагменте. При нажатии на элементы списка открывается новый фрагмент, чтобы показать подробности. Во втором фрагменте подробностей у меня есть текст редактирования и есть текстовый наблюдатель в этом тексте редактирования. При вводе текста в текстовом редакторе текстовый наблюдатель выполняет свои операции. На кнопке «Назад» я удалил фрагмент детали и вернулся в фрагмент списка. Но проблема в том, что когда я открываю фрагмент детали во второй раз, edittext остается со своим предыдущим значением. textwatcher устанавливает старое значение фрагмента в новом фрагменте детали. Итак, как с этим бороться. Пожалуйста, помогите мне.

public class Recieptlistfrag extends Fragment {.....

RecieptFragment fragment;
SharedPreferences preferences;
............
............


listView.setOnItemClickListener(new OnItemClickListener() {
fragment.setArguments(bundle);
getActivity().getSupportFragmentManager()
                        .beginTransaction().add(R.id.container_top, fragment,
                                "RecieptFragment").commit();
...........

теперь в кнопке «Назад» receitfragment

getActivity().getSupportFragmentManager()
                            .popBackStackImmediate();

редактировать текст с помощью textwatcher...

    public static class MyTextWatcher implements TextWatcher
{
     public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
            customAdapter.getFilter().filter(cs);
        }

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

        public void afterTextChanged(Editable arg0) {
        }
}

person Sar    schedule 22.12.2014    source источник


Ответы (1)


Не делайте:

RecieptFragment fragment;

Сделай это :

 listView.setOnItemClickListener(new OnItemClickListener() {

        Fragment fragment = new RecieptFragment();
            fragment.setArguments(bundle);
            getActivity().getSupportFragmentManager().beginTransaction().add(R.id.container_top, fragment,"RecieptFragment").commit();

Надеюсь, это поможет. :)

person Sanwal Singh    schedule 22.12.2014