2016-08-04 3 views
0

У меня есть кнопка:Как показывают кнопки, только если Spinner выбран

<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 блесен имеют значение, выбранное, изменение кнопки видимости в Visible.

Есть ли разные способы сделать это без проверки в любое время, когда я выбираю прядильщик, если выбрано 3 значения? Есть ли «наблюдатель» для такого типа операций?

EDIT

Это моя функция, которая в этот момент я вызываю на 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

Что вы пробовали? – Sufian

+0

У меня есть функция, которая запускается каждый раз, когда вы выбираете один счетчик, и я спрашиваю, существуют ли другие способы, или как «один вахта», который проверяет, выбраны ли значения. – LorenzoBerti

+0

Можете ли вы обновить свой вопрос кодом? – Sufian

ответ

0

Получить значения SelectedItem из всех 3-х блесен и затем сравнить значения с вашими желаемыми значениями, если они равны, то покажите кнопку.

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

изменен || to && –

+0

О да. Спасибо за указание, что вне – kgandroid

+0

Thankyou, но это я должен запустить в любое время, когда я выбираю один прядильщик вправо? – LorenzoBerti

Смежные вопросы