2014-09-08 3 views
0

Dans Android Je suis la récupération des données JSON de web.I la liste est comme {Nom, composez le code}comment définir la valeur par défaut de la spinnerlist

Je cette

countryinfo = new ArrayList<CountryInfo>(); 
     Countrylist = new ArrayList<String>(); 
      try {   
       for (String line : result) { 
       jsonarray= new JSONArray(line); 
      for (int i = 0; i < jsonarray.length(); i++) { 
       jsonobject = jsonarray.getJSONObject(i); 
       CountryInfo conpop = new CountryInfo(); 
       conpop.setName(jsonobject.optString("Name")); 
       conpop.setIso(jsonobject.optString("dial")); 
       conpop.setItu(jsonobject.optString("code")); 
       countryinfo.add(conpop); 
       Countrylist.add(jsonobject.optString("Name")); 
       } 
       } 
     } catch (Exception e) { 
      //Log.e("Error", e.getMessage()); 
      e.printStackTrace(); 
     } 

J'utilise

Spinner mySpinner = (Spinner) findViewById(R.id.spinner1); 

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(MobnoAct.this, android.R.layout.simple_spinner_item, Countrylist); 
          mySpinner.setAdapter(adapter); 
       mySpinner.setSelection(0); 

Mais dans la fileuse Son montrant un pays par défaut name..But Je veux que le nom du pays sera selon locale .. comme: -

Locale defaultLocale = getResources().getConfiguration().locale; 
       String si=defaultLocale.getCountry(); 

Comment je peux faire ça ???

Répondre

0

Essayez ceci après avoir défini l'adaptateur et de récupérer la valeur par défaut locale:

for(String countryName : countryList) 
      for(CountryInfo country : countryinfo) 
       if(country.getName().equals(countryName) && country.getCode().toLowerCase().equals(si.toLowerCase())) 
        mySpinner.setSelection(adapter.getPosition(countryName)); 

Hope this helps

+0

La méthode Sa disant getCode() est définie pour le type CountryInfo .. – Preeti

+0

chaîne si = DefaultLocale .getCountry(); celui-ci renvoie: - comme AF..et dans ma structure json est comme: - {"Name": "Afghanistan", "dial": "+ 93", "code": "AF"} – Preeti

+0

Son fonctionnement maintenant. .Merci bro .. – Preeti

Questions connexes