如何将项目的不同值设置为 android 微调器?
How to set different value for an item to an android spinner?
我必须在一个项目中为 Android 微调器设置不同的值;当我单击微调器的一个项目时,它表示为显示名称的字符串,我还必须为该项目取另一个值。我正在开发一个项目,我在其中创建 JsonObjectRequest 并解析 json 填充微调器。
我用于微调器的代码是这样的:
MaterialSpinner spinner = (MaterialSpinner) findViewById(R.id.spinner);
spinner.setItems("Ice Cream Sandwich", "Jelly Bean", "KitKat", "Lollipop", "Marshmallow");
spinner.setOnItemSelectedListener(new MaterialSpinner.OnItemSelectedListener<String>() {
@Override public void onItemSelected(MaterialSpinner view, int position, long id, String item) {
//Snackbar.make(view, "Clicked " + item, Snackbar.LENGTH_LONG).show();
Toast.makeText(activity, item, Toast.LENGTH_SHORT).show();
}
});
使用这个库:https://github.com/jaredrummler/MaterialSpinner
那么,如何解析 json 响应并为项目设置 2 值? (显示的字符串名称和该项目的 ID,即使在 json 响应中也是如此。)
如果知道JSON的结构,可以用POJO表示JSON中对象的类,然后用GSON库解析JSON 到你的 Java 对象中。
使用 Gson() 将您的 JSON 列表解析为 Java List
并使用新列表更新 Spinner
中的项目。
格森:
Gradle依赖性:
dependencies {
implementation 'com.google.code.gson:gson:2.8.6'
}
对于示例和设置 Gson,以下是很好的链接:
https://github.com/google/gson - 官方网站
https://guides.codepath.com/android/leveraging-the-gson-library - 教程
- 创建一个 POJO class 来存储来自
JSON
的数据解析
public class AndroidVersion {
String name;
String id;
}
- 使用 Gson 库
从 JSON 准备 List<AndroidVersion>
List<AndroidVersion> androidVersions = Gson().fromJson(json, AndroidVersion.class);
使用此列表创建自定义 ArrayAdapter/ SpinnerAdapter
将此适配器设置为 Spinner
我必须在一个项目中为 Android 微调器设置不同的值;当我单击微调器的一个项目时,它表示为显示名称的字符串,我还必须为该项目取另一个值。我正在开发一个项目,我在其中创建 JsonObjectRequest 并解析 json 填充微调器。
我用于微调器的代码是这样的:
MaterialSpinner spinner = (MaterialSpinner) findViewById(R.id.spinner);
spinner.setItems("Ice Cream Sandwich", "Jelly Bean", "KitKat", "Lollipop", "Marshmallow");
spinner.setOnItemSelectedListener(new MaterialSpinner.OnItemSelectedListener<String>() {
@Override public void onItemSelected(MaterialSpinner view, int position, long id, String item) {
//Snackbar.make(view, "Clicked " + item, Snackbar.LENGTH_LONG).show();
Toast.makeText(activity, item, Toast.LENGTH_SHORT).show();
}
});
使用这个库:https://github.com/jaredrummler/MaterialSpinner
那么,如何解析 json 响应并为项目设置 2 值? (显示的字符串名称和该项目的 ID,即使在 json 响应中也是如此。)
如果知道JSON的结构,可以用POJO表示JSON中对象的类,然后用GSON库解析JSON 到你的 Java 对象中。
使用 Gson() 将您的 JSON 列表解析为 Java List
并使用新列表更新 Spinner
中的项目。
格森:
Gradle依赖性:
dependencies {
implementation 'com.google.code.gson:gson:2.8.6'
}
对于示例和设置 Gson,以下是很好的链接: https://github.com/google/gson - 官方网站 https://guides.codepath.com/android/leveraging-the-gson-library - 教程
- 创建一个 POJO class 来存储来自
JSON
的数据解析
public class AndroidVersion {
String name;
String id;
}
- 使用 Gson 库 从 JSON 准备
List<AndroidVersion>
List<AndroidVersion> androidVersions = Gson().fromJson(json, AndroidVersion.class);
使用此列表创建自定义 ArrayAdapter/ SpinnerAdapter
将此适配器设置为 Spinner