如何在 android 中为 Spinner 创建不可选择的提示文本? (没有反映)
how to create an unselectable hint text for Spinner in android ? (without reflection)
我有一个带有下拉模式的微调器。
我在其中显示带有自定义适配器的项目列表。
但现在我想为我的微调器使用一个无法选择的提示文本。
我怎样才能做到这一点 ?提前致谢
您必须像我在我的代码中所做的那样添加第一项,然后在单击微调器时它将隐藏,因此用户将无法 select 第一项
ArrayList cityArraList = new ArrayList();
cityArrayList.add("Select City");
Spinner citySpinner = (Spinner) findViewById(R.id.citySpinner);
final ArrayAdapter<City> cityAdapter = new ArrayAdapter<City>(getActivity(),R.layout.my_simple_list_item_1,cityArrayList){
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View v = null;
// If this is the initial dummy entry, make it hidden
if (position == 0) {
TextView tv = new TextView(getContext());
tv.setHeight(0);
tv.setVisibility(View.GONE);
v = tv;
} else {
// Pass convertView as null to prevent reuse of special case views
v = super.getDropDownView(position, null, parent);
}
// Hide scroll bar because it appears sometimes unnecessarily, this does not prevent scrolling
//parent.setVerticalScrollBarEnabled(false);
return v;
}
};
我有一个带有下拉模式的微调器。 我在其中显示带有自定义适配器的项目列表。 但现在我想为我的微调器使用一个无法选择的提示文本。 我怎样才能做到这一点 ?提前致谢
您必须像我在我的代码中所做的那样添加第一项,然后在单击微调器时它将隐藏,因此用户将无法 select 第一项
ArrayList cityArraList = new ArrayList();
cityArrayList.add("Select City");
Spinner citySpinner = (Spinner) findViewById(R.id.citySpinner);
final ArrayAdapter<City> cityAdapter = new ArrayAdapter<City>(getActivity(),R.layout.my_simple_list_item_1,cityArrayList){
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View v = null;
// If this is the initial dummy entry, make it hidden
if (position == 0) {
TextView tv = new TextView(getContext());
tv.setHeight(0);
tv.setVisibility(View.GONE);
v = tv;
} else {
// Pass convertView as null to prevent reuse of special case views
v = super.getDropDownView(position, null, parent);
}
// Hide scroll bar because it appears sometimes unnecessarily, this does not prevent scrolling
//parent.setVerticalScrollBarEnabled(false);
return v;
}
};