我有一个按钮:
<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);
}
}
答案 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);
}