Установить текст блесны перед выбором элемента


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

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

2 8

2 ответа:

Вы можете сделать это одним из двух способов.

1) добавьте "Select One"в качестве первого элемента в 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 слушателе:

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

Чтобы задать текст по умолчанию для spinner, вы должны использовать android:prompt=@string/SelectOne для вашего spinner, где SelectOne определен в вашей строке.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" 
/>