1
我从jsonarray填充微调器,我需要将微调器设置为存储在首选项中的值。我想设置微调字符串“id”与存储在首选项中的“idlocatie”相等。如何根据首选项中的值设置微调器值
SharedPreferences mySharedPreferences =PreferenceManager.getDefaultSharedPreferences(this);
final String locatie= mySharedPreferences.getString("idlocatie", "");
JSONObject jsonLocatii = JSONfunctions.getJSONfromURL("http://www.mySite");
try{
JSONArray earthquakes = jsonLocatii.getJSONArray("earthquakes");
for(int i=0;i<earthquakes.length();i++){
JSONObject e = earthquakes.getJSONObject(i);
String id = e.getString(TAG_IDLOCATIE);
String name = e.getString(TAG_LOCATIE);
locatiiList.add(new Locatii(id, name.toUpperCase()));
locatii = (Spinner) findViewById(R.id.spinLocatie);
LocatiiAdapter cAdapter = new LocatiiAdapter(this, android.R.layout.simple_spinner_item, locatiiList);
locatii.setAdapter(cAdapter);
}
}catch(JSONException e) {
Log.e("log_tag", "Error parsing data "+e.toString());
}
感谢您的回答。我有一个值存储在首选项中,当我开始活动时,我想用来自mysql表中的值填充微调器,并将微调器选定值设置为与我存储的值相等的值。我尝试了解决方案,但收到错误“方法类型ArrayAdapter中的getPosition(Locatii)不适用于参数(String)“。我的表有2列:idlocatie和locatie。 –
cvmircea
2014-09-08 19:07:01
谢谢,它正在工作,但我不得不修改类Locatii,现在我的微调显示id不是名称。 – cvmircea 2014-09-12 20:31:42