当我选择微调器时,我可以看到列表中的所有项目,但是当我单击它们时,它们没有被选中并且微调器关闭。
我在这里尝试了不同的方法,但是没有找到适合我的方法。当我检查日志时,列表中的所有项目都正确,我只是无法选择它们。我已经测试了一个常规的字符串列表,可以单击它以确保它不是微调器中的错误。
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_dropdown_item, item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
courseSpinner.setAdapter(adapter);
courseSpinner.setSelection(1);
private void retrieveCourse() {
mCourseRepository.retrieveCourseTask().observe(this, new Observer<List<Course>>() {
@Override
public void onChanged(@Nullable List<Course> courses) {
if (mCourse.size() > 0) {
mCourse.clear();
}
if (courses != null) {
mCourse.addAll(courses);
int count = courses.size() - 1;
while (count >= 0) {
item.add(courses.get(count).getTitle());
Log.d(TAG, "onChanged: " + item);
count = count - 1;
}
}
mAdapter.notifyDataSetChanged();
}
});
}
当我选择一个项目时,我希望该项目出现在微调框内。相反,即使选择了一个项目,微调框仍保持空白。
答案 0 :(得分:0)
我不确定是否很好地理解您的问题,但是要管理微调器中的项目单击,您必须实现此侦听器
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
//both work
String selectedItemText = (String) parent.getItemAtPosition(position);
String selectedItemText = spinner.getSelectedItem().toString();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});