因此,无法在微调框上使用OnItemClickListener,并且所有搜索结果都只说“使用OnItemSelectedListener”。问题是,OnItemSelectedListener用于其他目的,不能完成我需要完成的工作。我需要做的是对下拉菜单中选择的项目(更具体地说,是对话框,因为我在对话框模式下使用它)进行处理。我想为实际对话框(下拉菜单)中的选定项目设置动画。 OnItemSelectedListener允许我在下拉列表已关闭后执行某些操作。当它仍然与用户单击的项目一起打开时,我需要做一些事情。如果我无法使用OnItemClickListener,我将不知道该怎么做。 任何人? :)
一种方法是在适配器中覆盖getDropDownView:
@Override
public View getDropDownView(final int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
if (view != null) {
CheckedTextView textView = view.findViewById(R.id.questions_dropdown_item);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Animate the view.
}
});
}
return view;
}
但是,然后OnClickListener阻止下拉列表被关闭。