Как получить конкретный идентификатор объекта в счетчике - PullRequest
0 голосов
/ 15 октября 2018
{
"Schools": [
    {
        "SCHOOLRSN": "1",
        "SCHOOLNAME": "Name1"
    },
    {
        "SCHOOLRSN": "11",
        "SCHOOLNAME": "Name2"
    },
    {
        "SCHOOLRSN": "10",
        "SCHOOLNAME": "Name3"
    },
    {
        "SCHOOLRSN": "9",
        "SCHOOLNAME": "Name4"
    },
    {
        "SCHOOLRSN": "21",
        "SCHOOLNAME": "Name5"
    }] 

это мой JSON, и я хочу, чтобы когда я выбирал название школы, я получил его идентификатор в своем журнале регистрации, здесь у меня есть код Java

SchoolNameList = new ArrayList<>();
    SchoolRSN = new ArrayList<>();
    spinner = (Spinner) findViewById(R.id.country_Name);
    loadSpinnerData(URL);
    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            String schname = spinner.getItemAtPosition(spinner.getSelectedItemPosition()).toString();

            Log.e("schname", "" + schname);
            Toast.makeText(getApplicationContext(), schname, Toast.LENGTH_LONG).show();
        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {
            // DO Nothing here
        }
    });

 public void onResponse(String response) {
            try {
                JSONObject jsonObject = new JSONObject(response);
                JSONArray jsonArray = jsonObject.getJSONArray("Schools");
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsonObject1 = jsonArray.getJSONObject(i);
                    String schoolrsn = jsonObject1.getString("SCHOOLRSN");
                    String schoolname = jsonObject1.getString("SCHOOLNAME");
                    SchoolNameList.add(schoolname);
                    SchoolRSN.add(schoolrsn);
                    Log.e("schoolname", "" + schoolname);
                }
                spinner.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, SchoolNameList));
                spinner.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, SchoolRSN));
            } catch (JSONException e) {
                e.printStackTrace();
            }

Я получил только одинчто-то в ответ либо SchoolRSN, либо Schoolname, сделайте что-то подобное, когда я выберу Name1 в выпадающем списке, я автоматически получу SchoolRSN в Logcat. Помогите мне выбраться из этого.

1 Ответ

0 голосов
/ 15 октября 2018

убрать эту строку

spinner.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, SchoolRSN));

выбрать время вращения предмета, получить schollid

  spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                String schname = spinner.getItemAtPosition(spinner.getSelectedItemPosition()).toString();

  String schId= SchoolRSN.get(i).toString();
//i ==>info e==> error
                Log.i("schname", "" + schname);
Log.i("schId", "" + schId);
                Toast.makeText(getApplicationContext(), schname, Toast.LENGTH_LONG).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                // DO Nothing here
            }
        });
...