我使用下面的代码选择我的列表的最后一项作为微调器的提示(即微调器中的默认选定项),并尝试从下拉菜单中隐藏它。
List<String> rfpType = new ArrayList<>();
rfpType.add("Job");
rpType.add("Talent");
rfpType.add("Vendor");
rfpType.add("Sponsor");
rfpType.add("RFP Title");
HintAdapter dataAdapter1 = new HintAdapter(getActivity(), android.R.layout.simple_list_item_1, rfpType);
dataAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerRFPType.setAdapter(dataAdapter1);
spinnerRFPType.setSelection(dataAdapter1.getCount());
HintAdapter
class HintAdapter extends ArrayAdapter<String>{
public HintAdapter(Context context, int theLayoutResID , List<String> list){
super(context, theLayoutResID, list);
}
@Override
public int getCount() {
// don't display last item. It is used as hint.
int count = super.getCount();
return count > 0 ? count-1 : count;
}
}
但它显示第二个最后一项为默认值。并隐藏我想要用作提示的最后一项。建议我一个正确的解决方案。
答案 0 :(得分:0)
将此<ul class="tab">
<li><a href="#" class="tablinks" onclick="openCity(event, 'London')">London</a></li>
<li><a href="#" class="tablinks" onclick="openCity(event, 'Paris')">Paris</a></li>
<li><a href="#" class="tablinks" onclick="openCity(event, 'Tokyo')">Tokyo</a></li>
</ul>
<div id="London" class="tabcontent">
<h3>London</h3>
<p>London is the capital city of England.</p>
</div>
<div id="Paris" class="tabcontent">
<h3>Paris</h3>
<p>Paris is the capital of France.</p>
</div>
<div id="Tokyo" class="tabcontent">
<h3>Tokyo</h3>
<p>Tokyo is the capital of Japan.</p>
</div>
添加到您的微调器。
android:prompt="@string/country_prompt"
答案 1 :(得分:0)
您需要在适配器类中实现以下方法:
它会帮助你:
同样对于getCount,返回Count不会降低
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent)
{
LayoutInflater inflater = getLayoutInflater(null);
convertView = inflater.inflate(theLayoutResID, parent,
false);
convertView= null;
if(position == list.size() - 1)
{
holder.textView.setVisibility(View.GONE);
convertView= holder;
}
else{
convertView= super.getDropDownView(position, null, parent);
}
return convertView;
}