我想在android中实现标签“CATEGORY”的下拉列表。
在这里,当我点击“CATEGORY”按钮时,应该填充一个列表。但是,当我选择该列表中的任何项目时,我不想更改标签“CATEGORY”。
怎么做?
答案 0 :(得分:1)
一旦了解了微调器的工作原理,就会变得容易。 :)
微调器使用getView
方法填充闭合的微调器,使用getDropDownView
方法创建下拉列表。使用此信息,您可以创建一个自定义适配器,该适配器可以在关闭视图中显示除当前选择之外的其他内容。这也可以避免在数据中使用非数据(如“CATEGORY”一词)。
一个简单的例子:
public class CustomAdapter extends ArrayAdapter {
private Context context;
private int textViewResourceId;
private String[] objects;
public CustomAdapter(Context context, int textViewResourceId,
String[] objects) {
super(context, textViewResourceId, objects);
this.context = context;
this.textViewResourceId = textViewResourceId;
this.objects = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null)
convertView = View.inflate(context, textViewResourceId, null);
TextView tv = (TextView) convertView;
tv.setText("CATEGORY");
}
return convertView;
}
}
旋转器的其余部分将正常运行,因此您可以捕获onItemSelectedListener
中的选择。
答案 1 :(得分:0)
在OnItemSelectedListener
方法中,获取您选择的值并将其存储在共享首选项的位置,并使用spinnersetSelection(0);
重置位置:)如果再次单击微调器,则从共享首选项中加载值:)