Как получить значение строки спиннера на Android? - PullRequest
0 голосов
/ 16 сентября 2011

Я создал вертушку, а предметы закрутки получены из базы данных. Тем не менее, когда я использую

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.
    }
}

Когда я вызываю этого слушателя и пытаюсь выбрать выбранную строку счетчика, я получаю ссылку на sglite примерно так:

android.database.sqlite.SQLiteCursor@40535568

Это возвращаемое значение typeOfBCard.

Однако на счетчике я вижу обычную строку типа «Работа».

Вот как я инициализировал счетчик:

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

Ответы [ 2 ]

0 голосов
/ 20 мая 2012

Каждая строка в спиннер является представлением, но это также значение / объект из вашего источника. Попробуйте

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 голосов
/ 16 сентября 2011

Как бы то ни было на счетчике я вижу обычную строку типа "Работа"

Это потому, что вы настроили Adapter на Spinner, а Adapterвытащить данные из курсора для отображения.

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

Нет "значения строки спиннера".Spinners не имеет строк.У них есть взгляды.Эти представления могут быть экземплярами TextView или экземплярами ImageView или экземплярами LinearLayout, удерживающими TextView и ImageView, или ...

Если вы хотите получить данные из Cursor, позвоните getString() на Cursor.

...