2017-05-24 1 views
0

Ich arbeite an einem Projekt, wo ich einen Spinner zu implementieren. Mein Spinner Code ist unten:Wie fügt Spinner anpassen?

ArrayAdapter stringArrayAdapter = new ArrayAdapter(this, 
    android.R.layout.simple_spinner_dropdown_item, CatagoryName); 

     // create a spinner 
     Spinner spinner = (Spinner) findViewById(R.id.spinner); 
     // add adapter to spinner 
     spinner.setAdapter(stringArrayAdapter); 
     // create listener and add to spinner 
     spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
       // put code which recognize a selected element 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> parent) { 

      } 
     }); 

Grundsätzlich möchte ich auf meine benutzerdefinierte Spinner Layout verwenden

ArrayAdapter stringArrayAdapter = new ArrayAdapter(this, 
    android.R.layout.simple_spinner_dropdown_item, CatagoryName); 

R.layout.simple_spinner_dropdown ist nicht das, was ich will. Wie kann ich dieses Layout durch mein eigenes ersetzen?

+1

einfach diesen 'R.layout.simple_spinner_dropdown' geben statt' 'android.R.layout.simple_spinner_dropdown_item' innen ArrayAdapter'.And dann' setDropDownViewResource' tun. –

+0

Haben Sie akzeptierte Antwort von https://stackoverflow.com/questions/18567986/custom-spinner-adapter-simple-spinner-dropdown-item-not-displaying-correctly –

+0

Welche benutzerdefinierten Layout lesen? Hast du eins gemacht? Funktioniert es nicht, wenn Sie es tatsächlich benutzen? –

Antwort

0

dies für mich gearbeitet wird, zunächst Spinner Artikel in strings.xml definieren, welche in Werte Verzeichnis wie oben,


 
    <string-array name="spinner_array"> 
 
     <item>item1</item> 
 
     <item>item2</item> 
 
     <item>item3</item> 
 
    </string-array>

versuchen dann über Code,

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

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getApplicationContext(), R.array.spinner_array, R.layout.custom_spinner_dropdown); 

    customSpinner.setAdapter(adapter); 
0

Versuchen Sie diesen Ansatz:

Spinner spinner = (Spinner) findViewById(R.id.spinner); 
    String[] CatagoryName = {"A","B","C","D"}; 
    ArrayAdapter<CharSequence> langAdapter = new ArrayAdapter<CharSequence>(getActivity(), R.layout.your_layout, CatagoryName); 
    langAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown); 
    spinner.setAdapter(langAdapter); 
+1

aber was ist mit dem CatagoryName .. Meine Arraylist ist in CatagoryName, die ich in der Spinnerin am zeige ?? –

+0

Versuchen Sie den aktualisierten Code. –

Verwandte Themen