因片段中的textwacher而无法更改edittext的值

时间:2014-12-22 12:47:54

标签: android android-fragments textwatcher

我在片段中有一个列表视图。通过单击列表视图项,打开一个新片段来显示详细信息。在第二个细节片段中,我有一个edittext并在该edittext上有一个textwatcher。在edittext textwatcher中输入文本执行其操作。在后退按钮上我删除了详细信息片段并返回listview片段。 但问题是当我第二次打开细节片段时,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) {
        }
}

1 个答案:

答案 0 :(得分: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();

希望这会有所帮助。 :)