Ответ 1
Попробуйте следующее:
String text = mySpinner.getSelectedItem().toString();
Подобно этому вы можете получить значение для разных Спиннеров.
У меня 5 спиннеров. Чтобы сделать это кратким с этим.
Это Spinner в xml
<Spinner
android:id="@+id/text_interested"
android:layout_span="2"
android:layout_width="wrap_content"
android:layout_height="60px"
android:entries="@array/interestedarrays"
android:prompt="@string/interestedprompt" />
Это Spinner в Java
submitbtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
interested.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(
AdapterView<?> adapterView, View view,
int i, long l) {
interesting = interested.getItemAtPosition(i).toString();
}
public void onNothingSelected(
AdapterView<?> adapterView) {
}
});
}
});
Объяснение здесь:
На странице появилась кнопка. Эта кнопка будет считывать данные из счетчика при нажатии. Я проверил вывод с помощью этого
System.out.println(interested.getItemAtPosition(i).toString());
Это не дало мне ничего не равного.
Как получить значение и его строку?
Попробуйте следующее:
String text = mySpinner.getSelectedItem().toString();
Подобно этому вы можете получить значение для разных Спиннеров.
String Text = mySpinner.getSelectedItem().toString();
ИЛИ
mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Object item = parent.getItemAtPosition(position);
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
Вы можете получить выбранный элемент из Spinner, используя
interested.getSelectedItem().toString();
попробуйте это
final Spinner cardStatusSpinner1 = (Spinner) findViewById(R.id.text_interested);
String cardStatusString;
cardStatusSpinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
cardStatusString = parent.getItemAtPosition(pos).toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
final Button saveBtn = (Button) findViewById(R.id.save_button);
saveBtn .setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
System.out.println("Selected cardStatusString : " + cardStatusString ); //this will print the result
}
});
Если ваш Spinner был заселен курсором SQLite, то решение:
Spinner mySpin = (Spinner) findViewById(R.id.myspin);
mySpin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
SQLiteCursor item = (SQLiteCursor) parent.getItemAtPosition(position);
String value = String.valueOf(item.getString(0));
Toast.makeText(getApplicationContext(), "The option is:" + value , Toast.LENGTH_SHORT).show();
}
PS: В item.getString(0)
→ 0 - индекс столбца на курсоре, который вы хотите получить.
В дополнение к предложенному,
String Text = mySpinner.getSelectedItem().toString();
Вы можете сделать,
String Text = String.valueOf(mySpinner.getSelectedItem());
Я думаю, что вы хотите, чтобы выбранный элемент счетчика нажал кнопку.
Попробуйте getSelectedItem():
spinner.getSelectedItem()
Когда вы выбираете любое значение из счетчика, вы получаете выбранное значение,
interested.getSelectedItem().toString();
Лучший способ сделать это: -
String selectedItem = spinner.getSelectedItem().toString();
вы можете ссылаться на документы здесь: Spinners
попробуйте это
sp1 = String.valueOf(spinner.getSelectedItem());
Поскольку последний язык для Android Development - это Kotlin. Вот как мы это делаем в Котлине, используя анонимный объект.
spinnerName?.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
override fun onNothingSelected(parent: AdapterView<*>?) {
println("Nothing Selected")
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
val selectedString = yourList[position]
}
}
Внедряя SpinnerAdapter для вашего объекта адаптера, я использую interested.getItem(i).toString()
Получить выбранный предмет с Kotlin:
spinner.selectedItem.toString()