2016-08-04 1 views
0

이 나는 ​​버튼이 있습니다스피너를 선택한 경우에만 방법을 보여 버튼

<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 개 스피너을 나는 것 그 모든 3 개 스피너 선택한 값, 표시의 버튼 가시성 변경이있을 때.

3 개의 값을 선택하면 회 전자를 선택할 때마다 확인하지 않고 다른 방법이 있습니까? 이러한 유형의 작업에 "감시자"가 있습니까?

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

지금까지 해보신 것은 무엇입니까? – Sufian

+0

나는 하나의 스피너를 선택할 때마다 실행되는 함수를 만들었고 다른 방법이 있는지 질문합니다. 또는 값이 선택되어 있는지 확인하는 "하나의 시계"와 같은 방식입니다. – LorenzoBerti

+0

코드로 질문을 업데이트 할 수 있습니까? – Sufian

답변

0

모든 3 개 스피너에서의 selectedItem의 값을 얻고 다음 값을 비교 :

편집

이이 순간에 내가 스피너에 onItemSelected에 전화를 내 기능입니다 원하는 값이 인 경우 버튼이 같으면 버튼을 표시하십시오.

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); 
} 
+1

변경됨 || && –

+0

오오 그렇습니다. 감사합니다. – kgandroid

+0

고마워요.하지만 이젠 언제든지 하나의 스피너를 선택해야합니까? – LorenzoBerti

관련 문제