关于#android#的问题:底部是怎么显示出EditText中输入的内容,CheckBox打勾的内容的,RadioButton选择的内容(我猜想的是TextView设置监控器实现显示上面的内容

底部是怎么显示出EditText中输入的内容,CheckBox打勾的内容的,RadioButton选择的内容(我猜想的是TextView设置监控器实现显示上面的内容,如果不对的话,请帮我指出怎么做的)。如果有XML源代码和项目源代码更好。先谢谢各位。

img

建议参考databinding,能够比较好的解决这类问题

如楼上所说,如果贴主会MVVM,那可以在布局里使用databinding,捆绑数据,实时更新。不回的话,只能一个个来了
例如:

 //监听姓名改变
        EditText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                updateResult();
            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });
 //监听性别男改变
        man.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                updateResult();
            }
        });
        //监听性别女改变
        weman.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                updateResult();
            }
        });
        //监听爱好改变
        RadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch (checkedId) {
                    R.id.music://音乐
                    //选中,判断是否存在,不存在,添加,反之不处理。
                    // 未选中,判断是否存在,不存在,不处理, 反之删除
                   if ( music.isSelected())
                    if (!hobbyList.contains("音乐")) hobbyList.add("音乐");
                    else{
                        //不处理
                    }
                    else    if (hobbyList.contains("音乐")) hobbyList.remove("音乐");
                    
                    break;
                    //以此类推。。。。设置美术 体育 园艺即可
                }
              
                updateResult();
            }
            
        });
        //监听性别女改变
        new CheckBox(getActivity()).setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                updateResult();
            }
        });

     

    //爱好数组
    ArrayList<String> hobbyList = new ArrayList<>();

    public void updateResult() {
        //监听改变获取设置姓名 性别 爱好
        String name = EditText.getText().toString().trim();
        //男还是女
        
        boolean isWeman = weman.isSelected();
        boolean isMan = man.isSelected();
        String isSex=if(isWeman&&isMan)"不男不女" else  if(isWeman )"女" else "男";
        String hobby="";
        for (String str:hobbyList) {
            hobby=hobby+" "+str;    
        }
        //结果
        tv_result.setText(name+","+isSex+","+hobby);
    }