スピナーからユーザーの選択(文字列値)を取得する簡単な方法はありますか?私はそれにリスナーを設定し、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);
}
ありがとうございます - これは非常に役に立ちます。 – cmac