Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何正确获取&;在可展开回收器视图中将文本设置为editText_Android_Android Edittext_Expandablelistadapter_Expandablerecyclerview_Onfocuschangelistener - Fatal编程技术网

Android 如何正确获取&;在可展开回收器视图中将文本设置为editText

Android 如何正确获取&;在可展开回收器视图中将文本设置为editText,android,android-edittext,expandablelistadapter,expandablerecyclerview,onfocuschangelistener,Android,Android Edittext,Expandablelistadapter,Expandablerecyclerview,Onfocuschangelistener,我正在使用bignerdranch的可扩展回收器视图。在我的子视图中,我放置了一个编辑文本,用户可以在其中就父视图上显示的问题留下评论 我的问题是,我希望在编辑文本失去焦点后保存用户输入。(在本例中,我有3个家长,每个家长有1个editText)。但是当我输入编辑文本1和聚焦编辑文本2而不输入时编辑文本2在失去焦点后将占用编辑文本1输入 我尝试使用文本观察程序,在文本更改后将代码放入其中。。但该应用程序冻结,并在一段时间后停止工作。如果有更好的方法让我相应地储蓄 McAtan是我的编辑文本 @O

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

我的问题是,我希望在编辑文本失去焦点后保存用户输入。(在本例中,我有3个家长,每个家长有1个editText)。但是当我输入编辑文本1聚焦编辑文本2而不输入时编辑文本2在失去焦点后将占用编辑文本1输入

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

McAtan是我的编辑文本

@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());
                }
            }
        });
    }