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