2015-04-02 1 views
0

J'ai une fileuse dans mon activité et je veux qu'il ouvrir le menu de sélection dès que l'activité commenceMettre l'accent sur Spinner fonctionne pas

Voici mon extrait de mise en page que le Spinner apparaît

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:background="#fff" 
    android:layout_weight="5"> 

    <Spinner 
     android:id="@+id/spinner" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:prompt="@string/app_name" 
     android:gravity="center_vertical"/> 

</LinearLayout> 

et voici ma classe qui devrait ouvrir le menu

Spinner spn = (Spinner) findViewById(R.id.spinner); 

spn.setFocusable(true); 
spn.setFocusableInTouchMode(true); 

spn.requestFocus(); 
+0

Avez-vous essayé 'spn'. [PerformClick()] (http://developer.android.com/reference/android/widget/Spinner.html#performClick())? – codeMagic

+0

J'ai essayé mais toujours rien ne se passe, De plus, une erreur s'est produite, je ne sais pas pourquoi cela se passe, mais j'ai trouvé un autre moyen pour le même effet, merci pour l'aide. –

+0

Ok. Vous devriez poster et accepter votre solution – codeMagic

Répondre

0

Remplacez votre code ci-dessus avec

spn = (Spinner) findViewById(R.id.spinner); 
ArrayAdapter myadapter = ArrayAdapter.createFromResource(this, 
R.array.days, android.R.layout.simple_spinner_item); 
myadapter.setDropDownViewResource(
     android.R.layout.simple_spinner_dropdown_item); 
spn.setAdapter(myadapter); 
    // Open the Spinner... 
    spn.performClick(); 

définissent également tableau suivant strings.xml

<string-array name="days"> 
    <item >Sunday</item> 
    <item >Monday</item> 
    <item >Tuesday</item> 
</string-array> 

code ci-dessus fonctionne pour moi, il travaillera pour vous aussi.