开发者

How to get spinner string value on android?

I have created a spinner and the items of spinner comes from database. However, When I use

public class MyOnItemSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent,
        View view, int pos, long id) {
        typeOFBCard = contactSpinner.getSelectedItem().toString();
    }

    public void onNothingSelected(AdapterView parent) {
      // Do nothing.
 开发者_运维知识库   }
}

When I call this listener and try to pick the chosen string of the spinner i get a reference of the sglite something like:

android.database.sqlite.SQLiteCursor@40535568

This is the return value of typeOfBCard.

However, on the spinner I can see normal string like "Work".

Here is how I initialized the spinner :

contactSpinner = (Spinner) findViewById(R.id.contactSpinner);
    mobileText =(EditText) findViewById(R.id.mobileText);
    mDbHelper = new DbAdapter(this);
    mDbHelper.open();
    cursor = mDbHelper.fetchAllBusinessCards();
    startManagingCursor(cursor);
    context =this;

    contactSpinner.setOnItemSelectedListener(new MyOnItemSelectedListener());


How ever on the spinner I can see normal string like "Work"

That is because you configured an Adapter on the Spinner, and the Adapter is pulling data out of the Cursor to display.

How to get spinner string value on android?

There is no "spinner string value". Spinners don't have strings. They have views. Those views might be instances of TextView, or they might be instances of ImageView, or they might be instances of a LinearLayout holding onto a TextView and an ImageView, or...

If you want to get data out of the Cursor, call getString() on the Cursor.


Every row in a spinner is a view but it's also a value/object from your source. Try

public class MyOnItemSelectedListener implements OnItemSelectedListener {

public void onItemSelected(AdapterView<?> parent,
    View view, int pos, long id) {
     // Parent == where the click happened. 
    typeOFBCard = parent.getSelectedItem().toString();
}

public void onNothingSelected(AdapterView parent) {
  // Do nothing.
}
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜