我试图在 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。