2012-04-26 41 views
43

Tôi có 5 Spinners. Để làm cho nó tóm tắt về điều này.Làm thế nào để có được giá trị mục được chọn Spinner thành chuỗi?

Đây là Spinner trong 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" /> 

Đây là Spinner trong 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) { 

         } 
        }); 
    } 
}); 

Giải thích ở đây:

Trang có một nút. Nút này sẽ đọc dữ liệu từ spinner khi nhấn. Tôi đã kiểm tra kết quả đầu ra với điều này

System.out.println(interested.getItemAtPosition(i).toString()); 

Nó đã cho tôi không có gì thậm chí không rỗng.

Cách lấy giá trị và chuỗi nó?

+0

Tôi chắc chắn, bạn muốn sản phẩm được chọn từ một spinner bất cứ khi nào người dùng nhấp vào một nút –

+0

Đặt setOnItemSelectedListener ngoài onClick của nút bấm của bạn và bên trong onclick phương pháp sử dụng interested.getSelectedItem(). ToString() này ; –

+0

cảm ơn, sai lầm của tôi đã đặt người nghe bên trong nút nghe mà tại sao không trả lời –

Trả lời

124

Hãy thử điều này:

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

Như thế này bạn có thể nhận được giá trị cho các Spinners khác nhau.

7

Bạn có thể lấy mục đã chọn từ Spinner bằng cách sử dụng,

interested.getSelectedItem().toString(); 
0

Bằng cách thực hiện các SpinnerAdapter cho đối tượng adapter của bạn tôi sử dụng interested.getItem(i).toString()

1

Tôi nghĩ rằng bạn muốn mục đã chọn của spinner khi nút là nhấp ..

Hãy thử getSelectedItem():

spinner.getSelectedItem() 
4

thử

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

HOẶC

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

Nhưng làm thế nào để có được mục 0 ?! –

1

Khi bạn chọn bất kỳ giá trị từ spinner, sau đó bạn được chọn giá trị này,

interested.getSelectedItem().toString(); 
4

Nếu S của bạn Pinner được dân cư của con trỏ SQLite, sau đó giải pháp là:

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: Trong item.getString(0) -> 0 là chỉ số của cột trên con trỏ mà bạn muốn để có được.

2

Ngoài những gợi ý,

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

Bạn có thể làm,

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

Cách tốt nhất để làm điều này là: -

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

bạn có thể tham khảo các tài liệu ở đây : Spinners

0

thử này

sp1 = String.valueOf(spinner.getSelectedItem()); 
Các vấn đề liên quan