Android 如何从循环中的微调器获取所有值
我试图创建一个表单来进行选择,但是我有一个具有多种可能性的微调器,因此微调器是自动生成的。这是我的脚本,在JSON数据循环的中间生成一个旋转器,而旋转子位于TeXVIEW循环下面:Android 如何从循环中的微调器获取所有值,android,android-spinner,Android,Android Spinner,我试图创建一个表单来进行选择,但是我有一个具有多种可能性的微调器,因此微调器是自动生成的。这是我的脚本,在JSON数据循环的中间生成一个旋转器,而旋转子位于TeXVIEW循环下面: StringRequest stringRequest = new StringRequest(Request.Method.GET, HttpUrl, new Response.Listener<String>() { @Override
StringRequest stringRequest = new StringRequest(Request.Method.GET, HttpUrl,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
progressDialog.dismiss();
try {
JSONObject obj = new JSONObject(response);
JSONArray gejalaArray = obj.getJSONArray("result");
for (int i = 0; i < gejalaArray.length(); i++) {
JSONObject gejalaObject = gejalaArray.getJSONObject(i);
final LinearLayout relativeLayout = (LinearLayout) findViewById(R.id.llMain);
final TextView textView = new TextView(getApplicationContext());
textView.setText(gejalaObject.getString("gejala"));
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams
(LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
textView.setLayoutParams(params);
final Spinner spinner = new Spinner(getApplicationContext());
spinner.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
final String[] personNames = {"Rahul", "Jack", "Rajeev", "Aryan", "Rashmi", "Jaspreet", "Akbar"};
ArrayAdapter arrayAdapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item, personNames);
spinner.setAdapter(arrayAdapter);
relativeLayout.addView(textView);
relativeLayout.addView(spinner);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
有人能帮我吗?我做了好几次实验,但直到现在还是失败了。
谢谢大家。在onClick函数中,您可以检索微调器的ArrayAdapter,然后循环其项:
BtnPro.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
ArrayAdapter adapter = ((Spinner)view).getAdapter();
int n = adapter.getCount();
for (int i = 0; i < n; i++) {
Toast.makeText(getApplicationContext(), adapter.getItem(i).toString(), Toast.LENGTH_SHORT);
}
}
});
BtnPro.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图){
ArrayAdapter=((微调器)视图).getAdapter();
int n=adapter.getCount();
对于(int i=0;i
只需更改您希望在for循环中显示项目的方式
有关类似的解决方案,请参阅
BtnPro.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
ArrayAdapter adapter = ((Spinner)view).getAdapter();
int n = adapter.getCount();
for (int i = 0; i < n; i++) {
Toast.makeText(getApplicationContext(), adapter.getItem(i).toString(), Toast.LENGTH_SHORT);
}
}
});