-1

これはフラグメントです。データベースから特定のデータを取得し、それを文字列に格納してからテキストビューに入れたいのですが、メソッドを構築する方法と、そのメソッドを使用してデータを取得する方法がわかりません.(カーソル)みんな助けてください..

public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    View layoutView = inflater.inflate(R.layout.fragment_lyrics,
    container, false);
    int hymnNo = fragVal - 1;
        //Database
    DataBaseHelper myDbHelper = new DataBaseHelper(getActivity());
    String lyrics = myDbHelper.data(hymnNo);


    View tv = layoutView.findViewById(R.id.text);

    //((TextView) tv).setText("Hymn Nunmber " + hymnNo);
    return layoutView;
    }

データベース ヘルパー クラス DataBaseHelper.java は次のとおりです。

public Cursor data(int x){
    SQLiteDatabase db =  SQLiteDatabase.openDatabase(DB_PATH,null,
    SQLiteDatabase.OPEN_READONLY);
    Cursor c = db.rawQuery("Select Lyrics from Hymns where id = " + x , null);
    db.close();
return c;
}
4

2 に答える 2

0

以下のようにデータベース作成メソッドからデータを取得するには:

public String getDataFromDatabase(int id) {
    String dataReturn = null;

    SQLiteDatabase db =  SQLiteDatabase.openDatabase(DB_PATH,null,
    SQLiteDatabase.OPEN_READONLY);
    Cursor c = db.rawQuery("Select Lyrics from Hymns where id = " + x , null);
    if(c!= null){
    try {
         if (cursor.moveToFirst()) {
             dataReturn = cursor.getString(1);
         }
     }  catch (Exception ex) {
         idReturn = "empty";
     }  finally {
         db.close();
         return dataReturn ;
     }
  }
  return dataReturn ;
}

そして、以下のようにテキストビューに設定します:

tv.setText(DATABASECLASS.getDataFromDatabase(ID));
于 2013-10-15T10:40:59.563 に答える