アンドロイドでsqliteで作成したDBに名前を登録してスピナーに一覧として表示するシステムを開発しています。
初心者なのですが、間違いや修正点がありましたら教えていただけますか。
あと、DB作成は問題ありません。
ソースです。
public class MainActivity2 extends Activity {
private final static String DB_TABLE = "product"; // テーブル名
public MainActivity.DBHelper helper; public SQLiteDatabase db; private Spinner nSpinner; private final int FP = ViewGroup.LayoutParams.FILL_PARENT; public final int WC = ViewGroup.LayoutParams.WRAP_CONTENT; private String[] data = {"テスト"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); // DB作成 helper = new MainActivity.DBHelper(MainActivity2.this); // データの取得 db = helper.getReadableDatabase(); // 列名の定義 String[] columns = {"id","name"}; // データの取得 Cursor cursor = db.query(DB_TABLE, columns, null, null, null, null, "id"); int i=0; // 取得したデータをテーブル明細部に設定 while (cursor.moveToNext()) { data[i]=cursor.getString(1); i++; } LinearLayout linearLayout = new LinearLayout(this); linearLayout.setOrientation(LinearLayout.HORIZONTAL); setContentView(linearLayout); Spinner spinner = new Spinner(this); linearLayout.addView(spinner, createParam(WC, WC)); ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.activity_main2, data); spinner.setAdapter(arrayAdapter); } private LinearLayout.LayoutParams createParam(int w, int h){ return new LinearLayout.LayoutParams(w, h); }
}
回答1件
あなたの回答
tips
プレビュー