2011-08-14 3 views
0

La question est au sujet de Spinners android travaillant quand "Gone", puis "Visible" à nouveau.Comment obtenir des informations sur Spinner?

J'ai un formulaire dans lequel spinner est caché ("Gone") par défaut. Si l'utilisateur cocher case, il apparaît et permet de choisir quelque chose. Le problème est que lorsque je soumets des informations à partir du formulaire sans toucher à la case à cocher (c'est-à-dire que la valeur par défaut est choisie depuis spinner), l'application se bloque avec l'exception nullpointer - malgré le fait que spinner soit visible.

Si je clique sur la case (même deux fois, pour faire disparaître Spinner) - tout fonctionne bien. Si j'utilise invisible au lieu de disparu, tout fonctionne bien même sans toucher le bouton.

Comment le faire fonctionner avec spinner "Gone" par défaut?

Code Here`s sur la façon dont se comporte case à cocher (onclick case à cocher):

 case R.id.checkboxUseDefaultURLList: 
     { 
      final CheckBox checkBoxDefaultList = (CheckBox) findViewById(R.id.checkboxUseDefaultURLList); 
      final TextView textViewEmpty = (TextView) findViewById(R.id.textBlank); 
      final Spinner s2 = (Spinner) findViewById(R.id.spinnerURLList); 
      if (checkBoxDefaultList.isChecked()) { 
       textViewEmpty.setVisibility(View.GONE); // GONE 
       textViewEmpty.invalidate(); 
       s2.setVisibility(View.GONE); // GONE 
       s2.invalidate(); 
       }   
      if (!checkBoxDefaultList.isChecked()) { 
       textViewEmpty.setVisibility(View.VISIBLE); // VISIBLE 
       textViewEmpty.invalidate(); 
       s2.setVisibility(View.VISIBLE); // VISIBLE 
       s2.invalidate(); 
       } 
      break; 
     } 

here`s comment je reçois des valeurs de Spinner (en onclick du bouton "Soumettre"):

    Spinner spinURLList = (Spinner) findViewById(R.id.spinnerURLList); 
       spinURLList.setVisibility(View.VISIBLE); 
       spinURLList.invalidate(); 
       spinURLList.setSelection(0); 
       TextView chosenURLTV = (TextView) spinURLList.getSelectedView(); 
       String urlListSelected = chosenURLTV.getText().toString(); 

Des idées pourquoi il se bloque si je ne clique pas sur la case avant de soumettre?

+0

Quelle ligne lève le pointeur null? – FoamyGuy

+0

Où est votre code de soumission? – Phil

+0

pouvez-vous publier la sortie logcat? Seule la partie rapport d'accident. – Ronnie

Répondre

1

Il peut être un problème d'attribution du TextView le texte dans le spinner. Essayez:

String urlListSelected = spinURLList.getSelectedItem().toString(); 
+0

oui, c'était le cas - merci beaucoup! – Nick

Questions connexes