我想在android中实现一个带有标签“CATEGORY”的下拉菜单。
在这里,当我单击“类别”按钮时,应填充一个列表。但是,当我选择该列表中的任何项目时,我不想更改标签“CATEGORY”。
怎么做?
我想在android中实现一个带有标签“CATEGORY”的下拉菜单。
在这里,当我单击“类别”按钮时,应填充一个列表。但是,当我选择该列表中的任何项目时,我不想更改标签“CATEGORY”。
怎么做?
一旦您了解了微调器的工作原理,这将变得很容易。:)
微调器使用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
.
在您的OnItemSelectedListener
方法中,获取您选择的值并将其存储在共享首选项的某个位置并使用spinnersetSelection(0);
:) 如果再次单击微调器,则从共享首选项加载值:)