Вопрос по android – Задать текст счетчика до выбора элемента

8

У меня есть счетчик с тремя элементами, и я использую ресурс массива XML-строк для его подачи. Когда вы открываете действие, спиннер обычно показывает первый элемент, который находится в списке массивов. Я хотел бы изменить это и показать текст "Выбрать один" в счетчике, перед тем как элемент выбран.

Как я могу это сделать?

Возможный дубликатHow to make an Android Spinner with initial text "Select One" blahdiblah

Ваш Ответ

2   ответа
1

вы должны использоватьandroid:[email protected]/SelectOne для вашего счетчика Где SelectOne определен в вашем string.xml.

Пример :

<Spinner android:id="@+id/spinnerTest"  
 android:layout_marginLeft="50px"
 android:layout_width="fill_parent"                  
 android:drawSelectorOnTop="true"
 android:layout_marginTop="5dip"
 android:prompt="@string/SelectOne"
 android:layout_marginRight="30px"
 android:layout_height="35px" 
/> 
Да, это правильно. JohnD
Не то, что хотел ОП. Он хочет это в блесне, а не как заголовок для этого.
проверьте этот пост, он дает вам возможность делать то, что вы хотите.stackoverflow.com/questions/867518/…
10

1) Добавить & quot; Выбрать один & quot; как первый элемент в вашем xml и код вашего слушателя, чтобы игнорировать это как выбор.

2) Создайте пользовательский адаптер, чтобы вставить его в качестве первой строки,

EDIT

В ваших ресурсах

<string-array name="listarray">
    <item>Select One</item>
    <item>Item One</item>
    <item>Item Two</item>
    <item>Item Three</item>
</string-array>

В вашем onItemSelected Listener:

spinnername.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
    public void onNothingSelected(AdapterView<?> parent) {
    }
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        if (pos == 0) {
        }else {
            // Your code to process the selection
        }
    }
});
+1, хороший трюк, но было бы замечательно, если бы мы могли убрать переключатель из выбора одного элемента.
Это решило вашу проблему?
Есть ли способ вставить его из строкового ресурса? JohnD
@SahilMahajanMj Как насчет того, чтобы его не было в выпадающем списке? Проверьтеthis answerError: User Rate Limit Exceeded
Да, просто добавьте его в качестве первой записи в вашем массиве. Я отредактировал свой ответ, чтобы привести пример.

Похожие вопросы