2012-04-26 3 views
43

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

Это 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()); 

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

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

+0

Я уверен, вы хотите, выбранный элемент из блесны всякий раз, когда пользователь нажимает на кнопку –

+0

Установите setOnItemSelectedListener вне OnClick вашей кнопки и в использовании метода OnClick этой interested.getSelectedItem(). ToString() ; –

+0

спасибо, моя ошибка была поставлена ​​слушателем внутри кнопки прослушивателя, почему бы не ответить –

ответ

124

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

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

, как это вы можете получить значение для различного Спиннерса.

7

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

interested.getSelectedItem().toString(); 
0

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

1

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

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

spinner.getSelectedItem() 
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 
     } 
    }); 
12
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) { 
    } 
}); 
+0

Но как получить товар 0 ?! –

1

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

interested.getSelectedItem().toString(); 
4

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

2

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

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

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

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

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

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

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

0

попробовать это

sp1 = String.valueOf(spinner.getSelectedItem()); 
Смежные вопросы