在我的Activity上,第一个用户需要从spinner中选择值,然后只剩下所有字段必须启用,否则我需要向用户显示消息“请选择值”。我怎样才能做到这一点?可以任何人给我解决方案与样品应用程序。
任何建议将不胜感激。
你可以编写代码来启用onItemSelected
中的其他字段,
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
但请注意,onItemSelected
也被称为第一次初始化setOnItemSelectedListener
。
我正在分享代码段:
公共类MainActivity扩展AppCompatActivity {
private Spinner spinner;
private EditText name;
private EditText city;
private Button btnSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bindViews();
validate();
}
private void bindViews(){
spinner = findViewById(R.id.spinner);
name = findViewById(R.id.edt_name);
city = findViewById(R.id.edt_city);
btnSubmit = findViewById(R.id.btn_submit);
name.setFocusable(false);
city.setFocusable(false);
}
private void validate(){
btnSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String spinnerValue = spinner.getSelectedItem().toString();
Log.d("spinner",spinnerValue);
if(spinnerValue.equals("Select")){
Toast.makeText(MainActivity.this,"Select a value from spinner",Toast.LENGTH_SHORT)
.show();
}else{
name.setFocusable(true);
city.setFocusable(true);
}
}
});
}
}