Подтвердить что ты не робот

Как получить значение выделенного элемента Spinner для строки?

У меня 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());

Это не дало мне ничего не равного.

Как получить значение и его строку?

4b9b3361

Ответ 1

Попробуйте следующее:

String text = mySpinner.getSelectedItem().toString();

Подобно этому вы можете получить значение для разных Спиннеров.

Ответ 2

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

Ответ 3

Вы можете получить выбранный элемент из Spinner, используя

interested.getSelectedItem().toString();

Ответ 4

попробуйте это

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

Ответ 5

Если ваш 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 - индекс столбца на курсоре, который вы хотите получить.

Ответ 6

В дополнение к предложенному,

String Text = mySpinner.getSelectedItem().toString();

Вы можете сделать,

String Text = String.valueOf(mySpinner.getSelectedItem());

Ответ 7

Я думаю, что вы хотите, чтобы выбранный элемент счетчика нажал кнопку.

Попробуйте getSelectedItem():

spinner.getSelectedItem()

Ответ 8

Когда вы выбираете любое значение из счетчика, вы получаете выбранное значение,

interested.getSelectedItem().toString();

Ответ 9

Лучший способ сделать это: -

String selectedItem = spinner.getSelectedItem().toString();

вы можете ссылаться на документы здесь: Spinners

Ответ 10

попробуйте это

sp1 = String.valueOf(spinner.getSelectedItem());

Ответ 11

Поскольку последний язык для 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]
    }

}

Ответ 12

Внедряя SpinnerAdapter для вашего объекта адаптера, я использую interested.getItem(i).toString()

Ответ 13

Получить выбранный предмет с Kotlin:

spinner.selectedItem.toString()