简体   繁体   English

如何从微调器的下拉列表中隐藏索引为 0 的元素

[英]how I can hide the element with index 0 from dropdown list in spinner

Please tell me how can I hide the item at index 0 from the dropdown in the spinner in Android Studio?请告诉我如何从 Android Studio 的微调器的下拉列表中隐藏索引 0 处的项目? I am using this code, it works, but when I open the list, it shows at the bottom.我正在使用此代码,它可以工作,但是当我打开列表时,它显示在底部。 That is, it is focused on the elements below.也就是说,它专注于以下元素。 what do i need to change?我需要改变什么?

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.setSelection(listsize);

your problem is here, you are passing the total list size number and that where you are doing wrong.您的问题就在这里,您正在传递总列表大小数字以及您做错的地方。 because setSelection method use to show default index of spinner.因为 setSelection 方法用于显示微调器的默认索引。

you can simply do that SpinnerName.setSelection(1);你可以简单地做到这一点SpinnerName.setSelection(1); that would give you the fist spinner item unless showing the names.add(0, "SELECT");这会给你第一个微调项目,除非显示names.add(0, "SELECT"); item物品

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM