Spinner показывает имя первого элемента в списке - PullRequest
0 голосов
/ 17 сентября 2018

Здравствуйте, я новичок в Android.Я создал спиннер.На счетчике есть некоторые элементы, и проблема в том, что имя первого элемента автоматически отображается вместе со значком счетчика при запуске.Как сделать так, чтобы изначально был виден только значок?

Ниже приводится мой массив

<string-array name="settingSpinner">
    <item>change pw</item>
    <item>Log Out</item>

</string-array>

В основном классе

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, getResources()
            .getStringArray(R.array.settingSpinner));
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    settings.setAdapter(adapter);

    settings.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                                   int position, long id) {
            Object item = arg0.getItemAtPosition(position);
            Toast.makeText(getApplicationContext(),String.valueOf(item),Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
        }
    });

1 Ответ

0 голосов
/ 17 сентября 2018

Решение 1

Вы можете добавить заполнитель текста в первый индекс массива.

<string-array name="settingSpinner">
    <item>Choose Action</item> // add this placeholder
    <item>change pw</item>
    <item>Log Out</item>    
</string-array>

Установите флажок, если индекс не равен 0.

    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1,
                               int position, long id) {
    if(position != 0) // proceed further
    }

Решение 2

Добавить черную строку в первую позицию

<string-array name="settingSpinner">
    <item> </item>
    <item>change pw</item>
    <item>Log Out</item>    
</string-array>

Это покажет черное пространство на Spinner при запуске активности.

...