I have a dynamic Android form with dynamic fields behaviour.
Example: If user fills field A, show field B and hides field C.
I'm using methods view.setVisibility(View.VISIBLE) and view.setEnabled(boolean) for this purpose. This approach works for RadioGroup and EditText, but don't work for Spinner component.
The spinner is set to visible, but is always disabled.
The method .setEnable(true) don't cause any effect.
I need to show the spinner enabled.
If the spinner was visible, the setEnabled() works. But if the spinner was invisible, this 2 commands together don't work.
spinner.setVisibility(View.VISIBLE)
spinner.setEnabled(Boolean.TRUE)
[]'s
Please provide more details. The following code shows you how you can show/hide or enable/disable the spinner.
boolean visibility = true;
boolean enabled = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout linearLayout = new LinearLayout(this);
final Spinner spinner = new Spinner(this);
String[] animals = {"cats","dogs","lines","rats"};
spinner.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,animals));
linearLayout.addView(spinner);
Button visiblity = new Button(this);
visiblity.setText("VisibilityButton");
linearLayout.addView(visiblity);
setContentView(linearLayout);
visiblity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(visibility){
spinner.setVisibility(View.INVISIBLE);
visibility = false;
}
else{
spinner.setVisibility(View.VISIBLE);
visibility = true;
}
}
});
Button enabledButton = new Button(this);
enabledButton.setText("EnabledButton");
linearLayout.addView(enabledButton);
enabledButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(enabled){
spinner.setEnabled(false);
enabled = false;
}
else{
spinner.setEnabled(true);
enabled = true;
}
}
});
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With