Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.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 将文本监视程序设置为编辑另一个片段中的文本_Android_Android Fragments_Android Edittext - Fatal编程技术网

Android 将文本监视程序设置为编辑另一个片段中的文本

Android 将文本监视程序设置为编辑另一个片段中的文本,android,android-fragments,android-edittext,Android,Android Fragments,Android Edittext,我有两个片段,第一个包含三个编辑文本,第二个包含一些文本视图,这取决于第一个片段中编辑文本的数据,我尝试在第二个片段中实现文本观察程序,以观察第一个片段中编辑文本的变化,以便我可以使用它,但没有成功 我的第二个片段包含文本视图,根据第一个片段中编辑文本的文本显示数据: @Override public void onActivityCreated(Bundle notUsed) { super.onActivityCreated(notUsed); Ma

我有两个片段,第一个包含三个编辑文本,第二个包含一些文本视图,这取决于第一个片段中编辑文本的数据,我尝试在第二个片段中实现文本观察程序,以观察第一个片段中编辑文本的变化,以便我可以使用它,但没有成功

我的第二个片段包含文本视图,根据第一个片段中编辑文本的文本显示数据:

@Override
    public void onActivityCreated(Bundle notUsed) {
        super.onActivityCreated(notUsed);

        MainActivity1.text1.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                co1 = Double.valueOf(charSequence.toString());
                if(charSequence.length() == 0)
                    empty1 = true;
                else
                    empty1 = false;
            }

            @Override
            public void afterTextChanged(Editable editable) {

                co1 = Double.valueOf(editable.toString());
                if(editable.length() == 0)
                    empty1 = true;
                else
                    empty1 = false;
            }
        });

        MainActivity1.text2.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                co2 = Double.valueOf(charSequence.toString());
                if(charSequence.length() == 0)
                    empty2 = true;
                else
                    empty2 = false;
            }

            @Override
            public void afterTextChanged(Editable editable) {

                co2 = Double.valueOf(editable.toString());
                if(editable.length() == 0)
                    empty2 = true;
                else
                    empty2 = false;
            }
        });

        MainActivity1.text3.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                co3 = Double.valueOf(charSequence.toString());
                if(charSequence.length() == 0)
                    empty3 = true;
                else
                    empty3 = false;
            }

            @Override
            public void afterTextChanged(Editable editable) {

                co3 = Double.valueOf(editable.toString());
                if(editable.length() == 0)
                    empty3 = true;
                else
                    empty3 = false;
            }
        });

知道我必须从第一个片段
静态
编辑文本,以便第二个片段能够处理它,我需要在用户更改片段1中编辑文本中的文本时,实时更新片段2中的文本视图,如何使其工作?

为什么不使用callback而不是watcher?当用户更改片段一中编辑文本中的文本时,我需要实时更新片段二中的文本视图。您可以使用callback通知第二个片段中编辑文本的更改。在ContextChange方法调用回调中。很抱歉,我的代码片段来自第二个片段…我编辑了我的问题,我尝试从第二个片段调用ContextChanged,但它不起作用。最简单的方法是使用EventBus发布事件(edittext文本已更改)并使用第二个片段中的事件来更新TextView。