android json spinner—代码示例

jsonjiaocheng

温馨提示:这篇文章已超过239天没有更新,请注意相关的内容是否还可用!

Android中的Spinner是一种下拉选择框,可以用来显示一组可选项,并且允许用户从中选择一个选项。在使用Spinner时,我们经常需要将选项数据以JSON格式获取并显示在Spinner中。下面是一个示例代码,演示了如何使用JSON数据填充Spinner。

我们需要定义一个布局文件来显示Spinner。在布局文件中,我们可以使用Spinner标签定义一个Spinner控件,并设置其id和宽高等属性。例如,我们可以创建一个名为activity_main.xml的布局文件,其中包含一个Spinner控件:

<Spinner

android:id="@+id/spinner"

android:layout_width="match_parent"

android:layout_height="wrap_content" />

接下来,在Java代码中,我们需要获取JSON数据并解析它。假设我们的JSON数据如下所示:

{

"options": [

"Option 1",

"Option 2",

"Option 3"

]

}

我们可以使用Android提供的JSONObject和JSONArray类来解析JSON数据。我们需要将JSON数据转换为字符串,然后使用JSONObject类将其解析为一个JSON对象。接着,我们可以使用JSONArray类获取名为"options"的数组,并遍历该数组以获取每个选项的值。我们可以将选项值添加到一个ArrayList中,以便填充Spinner。

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

// ...

String json = "{ \"options\": [ \"Option 1\", \"Option 2\", \"Option 3\" ] }";

try {

JSONObject jsonObject = new JSONObject(json);

JSONArray optionsArray = jsonObject.getJSONArray("options");

ArrayList<String> optionsList = new ArrayList<>();

for (int i = 0; i < optionsArray.length(); i++) {

String option = optionsArray.getString(i);

optionsList.add(option);

}

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

ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, optionsList);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(adapter);

} catch (JSONException e) {

e.printStackTrace();

}

在上面的示例代码中,我们首先创建一个JSONObject对象来解析JSON数据。然后,我们使用getJSONArray方法获取名为"options"的数组,并遍历该数组以获取每个选项的值。接着,我们创建一个ArrayList对象,并将每个选项的值添加到该列表中。我们使用ArrayAdapter将选项列表填充到Spinner中,并设置Spinner的下拉选项布局。

通过以上步骤,我们成功地使用JSON数据填充了Spinner,并将选项显示在了下拉选择框中。这样,用户就可以从中选择一个选项了。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码