Java 如何从spinner中的下拉列表中隐藏索引为0的元素
请告诉我如何在Android Studio的微调器下拉列表中隐藏索引0处的项目?我正在使用这段代码,它可以工作,但当我打开列表时,它会显示在底部。也就是说,它主要关注以下要素。我需要改变什么Java 如何从spinner中的下拉列表中隐藏索引为0的元素,java,android,android-fragments,Java,Android,Android Fragments,请告诉我如何在Android Studio的微调器下拉列表中隐藏索引0处的项目?我正在使用这段代码,它可以工作,但当我打开列表时,它会显示在底部。也就是说,它主要关注以下要素。我需要改变什么 SpinnerName = (Spinner) v.findViewById(R.id.spinner1); ArrayList<String> names = new ArrayList<>(); names.add(0, "SELEC
SpinnerName = (Spinner) v.findViewById(R.id.spinner1);
ArrayList<String> names = new ArrayList<>();
names.add(0, "SELECT");
names.add(1, "Name1");
names.add(2, "Name2");
final int listsize = names.size()-1;
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, names){
@Override
public int getCount() {
return(listsize);
}
};
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
SpinnerName.setAdapter(adapter);
adapter.setDropDownViewResource(R.layout.spinner_list);
SpinnerName.setSelection(listsize);
SpinnerName.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
....
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
SpinnerName=(Spinner)v.findViewById(R.id.spinner1);
ArrayList name=新的ArrayList();
名称。添加(0,“选择”);
名称。添加(1,“名称1”);
名称。添加(2,“名称2”);
final int listsize=names.size()-1;
ArrayAdapter=新的ArrayAdapter(getContext(),android.R.layout.simple\u微调器\u项,名称){
@凌驾
public int getCount(){
返回(列表大小);
}
};
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头名称.设置适配器(适配器);
adapter.setDropDownViewResource(R.layout.spinner\u列表);
喷丝头名称。设置选择(列表大小);
SpinnerName.setOnItemSelectedListener(新AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图、int pos、,
长id){
....
}
@凌驾
未选择公共无效(AdapterView arg0){
}
});
你的问题就在这里!您正在传递总列表大小和编号
那就是你做错了,因为你用的方法
显示微调器的默认索引
您只需执行
SpinnerName.setSelection(1)除非显示名称,否则代码>将为您提供第一个微调器项。添加(0,“选择”)代码>项目为什么不使用正确元素的列表?@HenryTwist如果spinner关闭,我需要显示“选择…”语句。这里已经回答了这个问题,它可以工作,但是当打开SpinnerName.setSelection(0)时,如果spinner关闭并隐藏,我需要显示这个0项目;用那个
SpinnerName.setSelection(listsize);