Android Studio,Java。 Spinner OnItemSelectedListener 和 RecyclerView 的问题 [关闭]

问题描述 投票:0回答:0

我试图在 OnItemSelectedListener 处理程序中调用 Recycler View,更准确地说是 states2.add(new State(userCursor2.getString(3), userCursor2.getString(2))); 我试图用全局变量来完成这一切,我还试图将结果分配给 TextView 并且它无法将文本从那里拉出来。请告诉我该怎么做。

Spinner spinner = findViewById(R.id.spinner);

        ArrayAdapter<String> adapter2 = new ArrayAdapter(this, android.R.layout.simple_spinner_item, values);
        adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter2);

//        String[] item = new String[] { "Алексеев Алексей Алексеевич", "Иванов Иван Иванович", "Егоров Егор Егорович"};
//        String item = "Алексеев Алексей Алексеевич";


        AdapterView.OnItemSelectedListener itemSelectedListener = new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String item = (String) parent.getItemAtPosition(position);

                //db2 = databaseHelper2.getReadableDatabase();
                textView.setText(item);
                userCursor2 = db2.rawQuery("select * from " + DatabaseHelper_students.TABLE + " WHERE " + DatabaseHelper_students.COLUMN_STUDENT + "='" + item + "'", null);
                System.out.println("Найдено элементов: " + userCursor2.getCount());
                userCursor2.moveToFirst();
                if (userCursor2 != null && userCursor2.moveToFirst()) {
                    do {
                        myList.add(userCursor2.getString(2));
                        textView.setText(item);
//                        System.out.println(userCursor2.getString(2) + userCursor2.getString(3));
                        states2.add(new State(userCursor2.getString(3), userCursor2.getString(2)));
                    } while (userCursor2.moveToNext());
                }
                userCursor2.close();
                for (int i = 0; i < myList.size(); i++)
                {
                    System.out.println(myList.get(i) + " ");
                    states2.add(new State(myList.get(i),myList.get(i)));
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        };
        spinner.setOnItemSelectedListener(itemSelectedListener);

我几乎尝试了所有方法,创建了新类,尝试将它们传递到那里,创建了变量,创建了数组,但是没有以任何方式提取 item 变量。我需要将元素传递给 Recycler View。

java android android-recyclerview
© www.soinside.com 2019 - 2024. All rights reserved.