Java 根据Android中的用户输入更改EditText和Spinner的值

Java 根据Android中的用户输入更改EditText和Spinner的值,java,android,validation,android-edittext,spinner,Java,Android,Validation,Android Edittext,Spinner,我的android xml文件中有一个editText和一个微调器。我想根据用户输入更改EditText和Spinner的值。例如,如果用户在EditText中输入7,14,21,28,并在微调器中选择天,我希望这些值分别自动更改为1,2,3,4周。这同样适用于尽可能多的组合 24小时-1天 7,14,21,28天-1,2,3,4周 4,8,12,16,20,24,28周-1,2,3,4,5,6,7个月 请在下面找到EditText和微调器的代码片段 编辑文本: <android.supp

我的android xml文件中有一个editText和一个微调器。我想根据用户输入更改EditText和Spinner的值。例如,如果用户在EditText中输入7,14,21,28,并在微调器中选择天,我希望这些值分别自动更改为1,2,3,4周。这同样适用于尽可能多的组合

  • 24小时-1天
  • 7,14,21,28天-1,2,3,4周
  • 4,8,12,16,20,24,28周-1,2,3,4,5,6,7个月
  • 请在下面找到EditText和微调器的代码片段

    编辑文本:

    <android.support.design.widget.TextInputEditText
                    android:id="@+id/frequencyDaysEditText"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/frequencyTime"
                    android:inputType="number" />
    
    
    
    微调器:

    <Spinner
                android:id="@+id/frequencySpinner"
                android:layout_width="0dp"
                android:layout_gravity="center"
                android:layout_height="wrap_content"
                android:layout_weight="0.2"
                android:entries="@array/frequencyArray" />
    
    
    
    频率数组的值为:{小时、天、周和月}

    注意:我已将EditText的范围限制在1-30之间。另外,我希望在用户完成选择值时发生这种情况,而不是等到用户单击submit按钮

    我想用Java编写一个验证函数,它将完成上述功能。请提供任何关于答案的帮助

    EditText edittext = (EditText) findViewById(R.id.frequencyDaysEditText);
    Spinner spinner = (Spinner) findViewById(R.id.frequencySpinner);
    
    edittext.addTextChangedListener(new TextWatcher() {
    
        @Override
        public void afterTextChanged(Editable s) {}
    
        @Override    
        public void beforeTextChanged(CharSequence s, int start,
          int count, int after) {
        }
    
        @Override    
        public void onTextChanged(CharSequence s, int start,
          int before, int count) {
    
            if(s.length() != 0)
            {
                String name= null;
                if(spinner != null && spinner .getSelectedItem() !=null
                {
                    name = (String)spinner.getSelectedItem();
    
                      //Do what you want to do here
    
                } else  { 
    
                }
            }
        }
    });