我有一个带有动态字段行为的动态Android表单。
示例:如果用户填充字段A,则显示字段B并隐藏字段C。
为此,我正在使用方法view.setVisibility(View.VISIBLE)
和view.setEnabled(boolean)
。此方法适用于RadioGroup
和EditText
,但不适用于Spinner
组件。
微调器设置为可见,但始终处于禁用状态。
.setEnable(true)方法不会产生任何影响。
我需要显示微调器已启用。
如果微调框可见,则setEnabled()起作用。但是,如果微调框是不可见的,那么这两个命令将无法正常工作。
spinner.setVisibility(View.VISIBLE)
spinner.setEnabled(Boolean.TRUE)
[]的
答案 0 :(得分:2)
请提供更多详细信息。以下代码显示了如何显示/隐藏或启用/禁用微调器。
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;
}
}
});
}