编程设定微调可见并启用

问题描述 投票:3回答:1

我有一个动态的Android形式动态字段的行为。 例如:如果用户填写字段A,秀场B和隐藏字段C.

我使用的方法view.setVisibility(View.VISIBLE)view.setEnabled(boolean)用于这一目的。这种方法适用于RadioGroupEditText,但没有为Spinner组件工作。 该微调器设置为可见,但始终被禁用。 该方法.setEnable(真)不会造成任何影响。

我需要显示启用了微调。 如果微调是可见的的setEnabled()的作品。但是,如果微调是看不见的,这两个命令不一起工作。

spinner.setVisibility(View.VISIBLE)
spinner.setEnabled(Boolean.TRUE)

[]的

android spinner
1个回答
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;
                }
            }
        });
    }
© www.soinside.com 2019 - 2024. All rights reserved.