Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从循环中的微调器获取所有值_Android_Android Spinner - Fatal编程技术网

Android 如何从循环中的微调器获取所有值

Android 如何从循环中的微调器获取所有值,android,android-spinner,Android,Android Spinner,我试图创建一个表单来进行选择,但是我有一个具有多种可能性的微调器,因此微调器是自动生成的。这是我的脚本,在JSON数据循环的中间生成一个旋转器,而旋转子位于TeXVIEW循环下面: StringRequest stringRequest = new StringRequest(Request.Method.GET, HttpUrl, new Response.Listener<String>() { @Override

我试图创建一个表单来进行选择,但是我有一个具有多种可能性的微调器,因此微调器是自动生成的。这是我的脚本,在JSON数据循环的中间生成一个旋转器,而旋转子位于TeXVIEW循环下面:

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);
                }
            }
        });