Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从spinner中的下拉列表中隐藏索引为0的元素_Java_Android_Android Fragments - Fatal编程技术网

Java 如何从spinner中的下拉列表中隐藏索引为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

请告诉我如何在Android Studio的微调器下拉列表中隐藏索引0处的项目?我正在使用这段代码,它可以工作,但当我打开列表时,它会显示在底部。也就是说,它主要关注以下要素。我需要改变什么

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);