2016-05-17 11 views
0

私はAndroidスタジオを初めて使い、最初のアプリケーションで作業しています。Androidスタジオ:スピナーから項目を選択した後、SQLiteデータベースから対応する値を取得する

私はSQLiteデータベースからのデータを入力したスピナーを持っています。データベースには、 "ID"、 "Ingredient_Name"(テキスト)、 "Carbohydrate_Content"(double)の3つの列があり、スピナーはIngredient_Name列のすべてのデータを表示します。

ユーザーがスピナーからアイテムを選択した場合、そのアイテムの対応するデータを取得/取得したいと思います。たとえば、ユーザーがスピナーから「ライス」を選択した場合、ライスの炭水化物含有量の値を取得します。この(double)値は、別の数式に使用されます。

アンドロイドハイブから次のコードが見つかりました。これは、私のやりたいことに似ていますが、この機能はメインアクティビティでは呼び出されません。 私の主な質問は、それを私のケースでどのように呼び、それを適用するのですか?ありがとう!

public Contact getContact(int id) { 
    SQLiteDatabase db = this.getReadableDatabase(); 

    Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID, 
      KEY_NAME, KEY_PH_NO }, KEY_ID + "=?", 
      new String[] { String.valueOf(id) }, null, null, null, null); 

    if (cursor != null) 
     cursor.moveToFirst(); 

    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)), 
      cursor.getString(1), cursor.getString(2)); 

    return contact; 
} 

答えて

0

コードをコピーして貼り付けるのではなく、まずコードをコピーして貼り付けることをお勧めします。ここで少しお手伝いします。だから、ユーザーがスピナーで何かを選択した後、DB呼び出しを行うためにボタンを接続します。

onClickListenerを使用できます。 findViewByIdを使用してボタンへの参照を取得し、次にonClickListenerを設定します。 onClickListenerでは、DBの呼び出しを行う、私はどうなる:

Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID, KEY_NAME, KEY_PH_NO }, KEY_NAME + " = ?", new String[] { String.valueOf(spinner.getSelectedItem()) }, null, null, null);

をだからあなたはあなたがしたいので、スピナーは、単語「ライス」を返しますので、DBを検索する単語「ライス」を使用していますそれにマッチする。それに応じてビューを更新します。コメントに質問がある場合はお知らせください。

関連する問題