我有一个动态的Android形式动态字段的行为。 例如:如果用户填写字段A,秀场B和隐藏字段C.
我使用的方法view.setVisibility(View.VISIBLE)
和view.setEnabled(boolean)
用于这一目的。这种方法适用于RadioGroup
和EditText
,但没有为Spinner
组件工作。
该微调器设置为可见,但始终被禁用。
该方法.setEnable(真)不会造成任何影响。
我需要显示启用了微调。 如果微调是可见的的setEnabled()的作品。但是,如果微调是看不见的,这两个命令不一起工作。
spinner.setVisibility(View.VISIBLE)
spinner.setEnabled(Boolean.TRUE)
[]的
请提供更多的细节。下面的代码显示您如何显示/隐藏或启用/禁用微调。
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;
}
}
});
}