Imposta chiave e valore nel filatore

Ho uno spinatore e voglio impostare una chiave e un valore su questo, uso di HashMap, è lavoro, ma mostri una row, come questa:

immettere qui la descrizione dell'immagine

  • Le impostazioni del proxy Android si applicano a tutte le app sul dispositivo?
  • Messaggi nei dintorni di Google - Annulla il collegamento iniziale tra i dispositivi
  • Avviare AnimationDrawable in elementi ListView. Quando sono gli elementi allegati?
  • CoordinatorLayout: Nascondere / Mostrare la barra degli strumenti metà visibile?
  • come possiamo rimuovere un file dalla cartella degli asset in runtime in android?
  • Chiamare l'API REST da un'applicazione android
  • Codice:

    final View rootView = inflater.inflate(R.layout.fragment_photos, container, false); Spinner spin=(Spinner)rootView.findViewById(R.id.spinner1); HashMap<Integer, String> P_Hash=new HashMap<Integer, String>(); Update Get_Information=new Update(rootView.getContext()); ArrayList<String> Province_NAME=new ArrayList<String>(); Province_NAME=Get_Information.GET_Province(); ArrayList<Integer> Province_ID=new ArrayList<Integer>(); Province_ID=Get_Information.Get_Province_ID(); for (int i = 0; i < Province_ID.size(); i++) { P_Hash.put(Province_ID.get(i), Province_NAME.get(i)); Log.d("Province_ID.get(i)", Province_ID.get(i)+""); Log.d(" Province_NAME.get(i)", Province_NAME.get(i)+""); } ArrayAdapter<HashMap<Integer, String>> adapter = new ArrayAdapter<HashMap<Integer,String>>(rootView.getContext(), android.R.layout.simple_spinner_item); adapter.add(P_Hash); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spin.setAdapter(adapter); 

  • Tutti i dispositivi Android dispongono di una scheda SD interna?
  • Controllare l'utilizzo del button del volume quando lo schermo è spento
  • Utilizzando la stessa libreria di debug su più computer
  • L'attività trasparente sta aprendo l'attività principale. Come aprirlo non oltre l'attività principale?
  • Phonegap - Android Come regolare il layout in modalità schermo integer quando il softkeyboard è visibile
  • Come personalizzare l'elenco con baseadapter
  • 2 Solutions collect form web for “Imposta chiave e valore nel filatore”

    Provare in questo modo, spero che questo ti aiuti a risolvere il problema.

    Preparare il valore per il filatore

     String[] spinnerArray = new String[Province_ID.size()]; HashMap<Integer,String> spinnerMap = new HashMap<Integer, String>(); for (int i = 0; i < Province_ID.size(); i++) { spinnerMap.put(i,Province_ID.get(i)); spinnerArray[i] = Province_NAME.get(i); } 

    Impostare il valore sul filatore

     ArrayAdapter<String> adapter =new ArrayAdapter<String>(context,android.R.layout.simple_spinner_item, spinnerArray); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); 

    Ottieni valore per il filatore

     String name = spinner.getSelectedItem().toString(); String id = spinnerMap.get(spinner.getSelectedItemPosition()); 

    Un approccio migliore per popolare il filatore con chiave e valore dovrebbe essere:

    Fase 1 : Creare una class POJO che si occuperà di chiave e valore

     public class Country { private String id; private String name; public Country(String id, String name) { this.id = id; this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } //to display object as a string in spinner @Override public String toString() { return name; } @Override public boolean equals(Object obj) { if(obj instanceof Country){ Country c = (Country )obj; if(c.getName().equals(name) && c.getId()==id ) return true; } return false; } } 

    Nota: il metodo toString () è importnte poiché è responsabile della visualizzazione dei dati in spinner, è ansible modificare toString () secondo le proprie esigenze

    Fase 2 : Preparare i dati da caricare in filettatura

      private void setData() { ArrayList<Country> countryList = new ArrayList<>(); //Add countries countryList.add(new Country("1", "India")); countryList.add(new Country("2", "USA")); countryList.add(new Country("3", "China")); countryList.add(new Country("4", "UK")); //fill data in spinner ArrayAdapter<Country> adapter = new ArrayAdapter<Country>(context, android.R.layout.simple_spinner_dropdown_item, countryList); spinner_country.setAdapter(adapter); spinner_country.setSelection(adapter.getPosition(myItem));//Optional to set the selected item. } 

    Fase 3: e infine get il valore chiave e il valore dell'elemento selezionato nel metodo di listener selezionato onitemsele

     spinner_country.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { Country country = (Country) parent.getSelectedItem(); Toast.makeText(context, "Country ID: "+country.getId()+", Country Name : "+country.getName(), Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); 

    Tutto il meglio, codifica felice!

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.