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