【问题标题】:How to load a Spinner with Simple Json Array using json class in Android如何在 Android 中使用 json 类加载带有简单 Json 数组的 Spinner
【发布时间】:2014-04-26 16:19:26
【问题描述】:

我有一个 Json 数组,我希望它在 Android Spinner 中加载它。我尝试了很多事情,比如使用 Json 对象和数组列表,但它没有给我正确的结果。我正在使用以 JSON 数组的形式返回我的 Web 服务。我使用了 Json Array 类,但它返回整个对象。 请参阅 Json 数组示例。

<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://microsoft.com/webservices/">
<string>1</string>
<string>2</string>
<string>3</string>
<string>4</string>
</ArrayOfString>

【问题讨论】:

    标签: android android-layout android-listview android-arrayadapter


    【解决方案1】:

    虽然您的 JSON 看起来像 xml,但我将提供代码以将 JSON 数组的项目放入微调器项目中。

    public static final String JSON = "[\"1\", \"2\", \"3\", \"4\", \"444\"]";
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        ArrayList<String> itemsList = new ArrayList<String>();
        try {
            JSONArray array = new JSONArray(JSON);
    
            for (int i=0; i < array.length(); i++) {
                String s = (String) array.get(i);
                itemsList.add(s);
            }
    
            Spinner spinner = (Spinner) findViewById(R.id.spinner);
            ArrayAdapter<String> adapter =
                    new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, itemsList);
            spinner.setAdapter(adapter);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
    

    对于解析 XML,您可以使用 XmlPullParser http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

    【讨论】:

      猜你喜欢
      • 2017-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多