我添加了一个从房间数据库中检索数据的微调器,当我点击微调器时它正确地显示了可用的项目,但是当我选择一个时它不会在微调器中显示为选中并且不显示任何内容我发现即使我选择了某些东西,也不会触发collegeSpinner.setOnItemSelectedListener ArrayAdapter<String> adapter;
CollegeViewModel collegeViewModel;
Spinner collegeSpinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_note);
collegeSpinner = (Spinner) findViewById(R.id.spinner_college);
final ArrayList<String> collegesList = new ArrayList<>();
final CollegeAdapter collegeAdapter = new CollegeAdapter();
collegeViewModel = ViewModelProviders.of(this).get(CollegeViewModel.class);
collegeViewModel.getAllColleges().observe(this, new Observer<List<College>>() {
@Override
public void onChanged(List<College> colleges) {
//this is what happens when when data changes // the code bellow should be related to changing the view
collegeAdapter.setColleges(colleges); // getting colleges from database and assigning it to collegeadapter
for (int i = 0; i < collegeAdapter.getItemCount(); i++) { // accessing the adapter to add it's elements to collegeList
collegesList.add(collegeAdapter.getCollegeAt(i).getCollegeName());
}
}
});
adapter = new ArrayAdapter<>(getApplicationContext(), R.layout.small_view, collegesList);
collegeSpinner.setAdapter(adapter);
collegeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
// this function doesn't work even when i select something
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
// also doesn't work
}
});
}
3 回答

回首忆惘然
TA贡献1847条经验 获得超11个赞
collegeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { String str = collegeSpinner.getSelectedItem().toString(); } @Override public void onNothingSelected(AdapterView<?> parent) { String str = llist.get(0); } });
添加回答
举报
0/150
提交
取消