web-dev-qa-db-fra.com

Spinner Invite ne s'affiche pas

enter image description hereJ'ai une liste des professions (liste déroulante) dans laquelle j'ai la liste des professions. Je souhaite afficher la valeur par défaut sous la forme "Sélectionner une profession". Dans mon xml, je tape Android: Prompt = "Sélection d'une profession" mais rien ne s'affiche. Je voulais que "Select Profession" soit affiché à l'endroit où j'ai marqué en rouge

Spinner.XML

  <Spinner
                    Android:layout_width="match_parent"
                    Android:layout_height="wrap_content"
                    Android:id="@+id/sp_profession"
                    Android:layout_weight="1"
                    style="@style/spinner"
                    Android:Prompt="Select Profession"
                    Android:spinnerMode="dropdown"
                    Android:layout_margin="2dp"></Spinner> 

J'ai fait quelque chose comme ça, mais j'obtiens une valeur nulle chez Prompt_text

profession_array = getResources ().getStringArray (R.array.Profession);
        profession_str = new ArrayAdapter<String> (c, R.layout.textview_spinner, profession_array);
        Prompt_text.setText ("Select Profession");
        profession_str.setDropDownViewResource (Android.R.layout.simple_dropdown_item_1line);

R.layout.textview_spinner

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:id="@+id/Prompt_text"
    Android:layout_height="wrap_content"
    Android:paddingBottom="10dp"
    Android:paddingLeft="10dp"
    Android:paddingTop="10dp"
    Android:minHeight="1dp"
    Android:gravity="center"
    Android:textSize="20sp"
    Android:textColor="@Android:color/white" />
8
anuj

Invite est utilisé pour afficher le titre dans la liste déroulante, pas pour le texte par défaut.

Je pense que vous souhaitez définir la valeur par défaut sur spinner lorsque vous n'avez sélectionné aucune valeur dans la liste déroulante spinner. Pour cela, vous devez utiliser NothingSelectedSpinnerAdapter. Vous trouverez ci-dessous le lien pour plus de détails:

https://stackoverflow.com/a/12221309/2389804

10
Araju

Ce n’est pas la bonne façon, mais ça marche .. Quoi que vous vouliez montrer, donnez-le comme premier élément du tableau String comme ceci

string.xml

 <string-array name="Profession">
    <item>Please select the Profession</item>
    <item>Student</item>
    <item>Prof</item>
    <item>staff</item>
    <item>research student</item>

en code Java lors de la lecture de l'objet spinng

Spinner profession = (Spinner)findViewById(R.id.profession);

String prof = String.valueOf(profession.getSelectedItem());


if(prof.equals("Please select the Profession"))
    {

      Toast.makeText(getApplicationContext(), "Please select the Profession", Toast.LENGTH_SHORT).show();

    }else{
   //Do your thing here....
    }
6
Hareesh S

vous devez définir style ---> style = "@ Android: style/Widget.Spinner" fonctionne pour moi. J'espère que cela vous aidera.

5
Gordon

J'ai eu le même problème et style="@Android:style/Widget.Spinner" était la solution pour moi aussi. il suffit de l'insérer dans la balise Spinner sans Android: préface

0
John Schmitt