スピナーにデータベースの内容を表示するにはAndroidでどのようにしますか
データベースの内容をSpinnerに表示するには、Androidで次の手順を実行する必要があります。
- Spinnerコンポーネントを作成します。XMLレイアウトファイルにSpinnerコンポーネントを追加します。
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
- データベースヘルパークラスを作成します。 SQLiteOpenHelper を継承したクラスを作成し、必要なメソッドを実装します。 このクラス内でデータベーステーブルを作成し、データベースコンテンツを取得するメソッドを実装する必要があります。
- Spinner コントロールを Activity で使用する場合は、まず Spinner コントロールの参照を取得する必要があります。
Spinner spinner = findViewById(R.id.spinner);
スピナーにデータを供給するためのアダプタを作成する必要があります。アダプタは、カーソルアダプタまたは配列アダプタで実装できます。カーソルアダプタを使用する場合は、データベースからカーソルオブジェクトを取得する必要があります。
Cursor cursor = dbHelper.getDatabaseContent(); // 从数据库获取内容
カーソルアダプタを作成してから、Spinnerに設定できます。
CursorAdapter adapter = new CursorAdapter(this, cursor, 0) {
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
return inflater.inflate(android.R.layout.simple_spinner_dropdown_item, parent, false);
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView textView = view.findViewById(android.R.id.text1);
String item = cursor.getString(cursor.getColumnIndexOrThrow("column_name")); // 获取数据库中的内容
textView.setText(item);
}
};
spinner.setAdapter(adapter);
すると、Spinner にデータベースの内容を表示させることができます。ユーザーがアイテムを選択すると、Spinner の OnItemSelectedListener リスナーを使用して選択した値を取得できます。