如何正确获得&在可扩展回收站视图中将text设置为editText

时间:2017-11-02 02:34:48

标签: android android-edittext expandablelistadapter expandablerecyclerview onfocuschangelistener

我正在使用 bignerdranch 中的可扩展回收站视图。在我的孩子视图中,我放置了一个编辑文本,用户可以在其中留下关于父视图中显示的问题的评论。

我的问题是,我希望在编辑文本松散焦点后保存用户输入。 (在这种情况下,我有3个父母,每个父母有1个editText)。但是当我在编辑文字2 上输入编辑文字1 焦点而不输入... 编辑文字2 时松散焦点后,编辑文本1输入。

我尝试使用文本观察器,并在文本更改后将代码放入...但应用程序冻结并在一段时间后停止工作。如果有更好的方法让我相应保存?

  

mCatatan 是我的editText。

@Override
    public void onBindChildViewHolder(final ATPChildViewHolder atpChildViewHolder, int i, Object childObject) {
        final ATPChild atpChild = (ATPChild) childObject;

        final String text = atpChildViewHolder.mCatatanInput.getText().toString();
        if(!text.equals("")) {
            atpChild.setDetail(text);
            atpChildViewHolder.mCatatanInput.setText(atpChild.getDetail());
        } else {
            atpChildViewHolder.mCatatanInput.setText(atpChild.getDetail());
        }


//        todo: fixed catatan being saved to another catatan
        atpChildViewHolder.mCatatanInput.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (!hasFocus) {
                    Log.d(TAG, "onFocusChange: ");
                    atpChild.setDetail(atpChildViewHolder.mCatatanInput.getText().toString());
                    atpChildViewHolder.mCatatanInput.setText(atpChild.getDetail());
                }
            }
        });
    }

0 个答案:

没有答案