我的android xml文件中有一个editText和一个Spinner。我想根据用户输入更改EditText和Spinner的值。例如,如果用户在EditText中输入7,14,21,28并在Spinner中选择Days,我希望这些值分别自动更改为1,2,3,4周。这同样适用于可能的组合。
请在下面找到EditText和微调器的代码片段。
的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之间。此外,我希望在用户完成选择值时发生这种情况,而不是等到用户点击提交按钮。
我想在Java中编写一个验证函数,它将执行上述功能。请提供任何答案帮助。
答案 0 :(得分:0)
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 {
}
}
}
});