java - 如何获取json数组数据并在SPINNERS android中显示
问题描述
我如何获取 json 数据并在微调器中显示你能帮我吗我想在微调器中显示状态名称和代码这是我的活动
下面是邮递员图像,我在其中获取州名和州代码,所以现在我如何在微调器中获取和显示请帮助我
String country_id = "in";
Call<ResponseBody> call = SignupClient
.getInstance()
.getApi()
.users(country_id);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Toast.makeText(SignupActivity.this, t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
这是我的Java类
public class SignupClient {
private static final String BASE_URL = "http://74.207.233.160/";
private static SignupClient mInstance;
private Retrofit retrofit;
private SignupClient() {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
public static synchronized SignupClient getInstance() {
if (mInstance == null)
{
mInstance = new SignupClient();
}
return mInstance;
}
public SignupApi getApi() {
return retrofit.create(SignupApi.class);
}
}
这是我的 API
public interface SignupApi {
@FormUrlEncoded
@POST("find_states")
Call<ResponseBody> users(
@Field("country_id") String country_id
);
}
解决方案
试试这个:(用你的 Pojo 类名替换“FilterTable”)
class CustomArrayAdapterForSpinner(private val filterValues: List<FilterTable>) : BaseAdapter() {
private val inflater: LayoutInflater
var name: String? = null
val count: Int
@Override
get() = filterValues.size()
init {
inflater = getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
}
@Override
fun getItem(position: Int): Object {
return filterValues[position]
}
@Override
fun getItemId(position: Int): Long {
return position.toLong()
}
@Override
fun getView(position: Int, view: View, parent: ViewGroup): View {
val holder: Holder
var convertView = view
if (convertView !=null) {
holder = convertView.getTag()
} else {
holder = Holder()
convertView = inflater.inflate(R.layout.row_filter, null)
holder.chkTextView = convertView.findViewById(R.id.checkTxt)
convertView.setTag(holder)
}
holder.chkTextView!!.setText(filterValues[position].getName())
holder.chkTextView!!.setTag(if (filterValues[position].isSelection()) "unChecked" else "checked")
return convertView
}
fun setSelection(str: String) {
for (model in filterValues)
model.setSelection(model.getName().equals(str))
}
internal inner class Holder {
var chkTextView: CheckedTextView? = null
}
}
推荐阅读
- algorithm - 如何为依赖于 x 的非线性薛定谔方程中的初始条件编写子程序
- reactjs - React -> material-ui -> Autocomplete:从 API 获取值的问题
- css - VueJs Enter-transition动画在点击时不起作用
- sql - 使用 1 个表列将别名放在列中
- python - 随机拒绝将数据附加到 .csv 文件的权限(python,Windows 10)
- html - Django - 最小值/最大值未显示在索引上
- database - Laravel - 尝试通过一对多关系获取数据
- java - ArrayList 和 List 声明
- vue.js - 向子组件中的元素添加或删除类
- html - 我对级联流和特异性的理解正确吗?