Простой способ получить выбор пользователя (строковое значение) из блочного счетчика? - PullRequest
0 голосов
/ 11 марта 2012

Есть ли простой способ получить выбор пользователя (строковое значение) из счетчика?Я пытаюсь избежать установки слушателя и написания метода onItemSelected (), потому что мне не нужно ничего делать, когда пользователь делает выбор.Скорее, я пытаюсь настроить нажатие кнопки, чтобы захватить выделение и отправить его в комплекте к другому действию.Мой счетчик заполняется курсором.Вот мой код, и он вылетает на линии:

String choice = this.adapter.getItem(index).toString();

Код:

public class MainActivity extends BaseActivity
{   
static final String TAG = "MainActivity";
static final String[] FROM = {CreateDB.C_CATEGORY};
static final int[] TO = {android.R.id.text1};
CreateDB dbBuilder;
SQLiteDatabase database;
Cursor cursor;
SimpleCursorAdapter adapter;
Spinner spinnerLocal;

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    dbBuilder = new CreateDB(this);
    database = dbBuilder.getReadableDatabase();         
    cursor = database.query(CreateDB.TABLE, null, null, null, null, null, CreateDB.C_CATEGORY + " DESC");
    startManagingCursor(cursor);

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, cursor, FROM, TO);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    Spinner spinnerRemote = (Spinner) findViewById(R.id.spinner2);

    spinnerRemote.setAdapter(adapter);
}   

public void createReview(View view)
{
            //createReview runs when a button is clicked
    Spinner spinner = (Spinner)findViewById(R.id.spinner2);

            int index = spinner.getSelectedItemPosition();

    String choice = this.adapter.getItem(index).toString();

    Intent postReview = new Intent(this,Post.class);
    Bundle bundle = new Bundle();
    bundle.putString("CATEGORY", choice);
    postReview.putExtras(bundle);
    startActivity(postReview);
}

1 Ответ

1 голос
/ 11 марта 2012

Есть ли простой способ получить выбор пользователя (строковое значение) из счетчика?

У вас нет "строкового значения".

Вы использовали SimpleCursorAdapter.Таким образом, ваше «значение» равно Cursor.

Вы можете позвонить getSelectedItem() на Spinner, который (для CursorAdapter с поддержкой Spinner) должен вернуть Cursorрасположен в выбранной строке.Оттуда прочитайте все значения, которые вы хотите через getString() и kin.

...