如果选择了微调器,如何显示按钮

时间:2016-08-04 13:35:50

标签: android android-layout

我有一个按钮:

<Button
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="text"
                android:id="@+id/test"
                android:onClick="test"
                android:visibility="gone"/>

我有3个Spinners,我想当所有3个微调器都选择了一个值时,按钮可见性会在Visible中发生变化。

如果选择了3个值,我是否有不同的方法可以选择微调器? 这种操作有“观察者”吗?

修改

这是我的功能,在这一刻我打电话给onItemSelected的微调器:

public void checkSpinner(){
        Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
        assert spinner1 != null;
        int position1= spinner1.getSelectedItemPosition();

        Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
        assert spinner2 != null;
        int position2=spinner2.getSelectedItemPosition();

        Spinner spinner3 = (Spinner) findViewById(R.id.spinner3);
        assert spinner3 != null;

        int position3=spinner3.getSelectedItemPosition();
        Button button = (Button) findViewById(R.id.button);
        if((position1>0) && (position2>0)&&(position3>0))
        {

            button .setVisibility(View.VISIBLE);
        }else{
            button .setVisibility(View.GONE);
        }
    }

1 个答案:

答案 0 :(得分:0)

从所有3个微调器中获取selecteditem的值,然后然后将值与所需值进行比较,如果它们相等则显示按钮。

String text1=spinner1.getItemAtPosition(spinner.getSelectedItemPosition()).toString();

String text2=spinner2.getItemAtPosition(spinner.getSelectedItemPosition()).toString();

String text3=spinner3.getItemAtPosition(spinner.getSelectedItemPosition()).toString();

if(text1.equals("your desired value") && text2.equals("your desired value") && text3.equals("your desired value"))
{
  button.setVisibility(View.VISIBLE);
}