2012-02-24 24 views
1

データベースをAndroid ExpandableListに読み込もうとしていますが、CursorTreeメソッドとSimpleCursorTreeメソッドを最小限の成功で使用しようとしたので、今すぐ取得しようとしていますBaseExpandableListAdapterを使用して作業します。何らかの理由で私が得るのはカテゴリですが、カテゴリの実際のリストではありません。何が間違っていますか?カーソルから2次元文字列配列を埋め込む

public static String[][] sortSpellNames(){ 
    int groupnmbr = 0; 
    int childnmbr = 0; 
    String[] aGroups = {"Combat", "Detection", "Health", "Illusion", "Manipulation"}; 
    String[] Combat = new String[grabList("SHADOWRUNSPELLS",new String[]{"Name"}, "'Category' like 'Combat'").getCount()], 
      Detection = new String[grabList("SHADOWRUNSPELLS",new String[]{"Name"}, "'Category' like 'Detection'").getCount()], 
      Health = new String[grabList("SHADOWRUNSPELLS",new String[]{"Name"}, "'Category' like 'Health'").getCount()], 
      Illusion = new String[grabList("SHADOWRUNSPELLS",new String[]{"Name"}, "'Category' like 'Illusion'").getCount()], 
      Manipulation = new String[grabList("SHADOWRUNSPELLS",new String[]{"Name"}, "'Category' like 'Manipulation'").getCount()]; 

    Cursor cursor; 
    while(groupnmbr < aGroups.length){ 
     childnmbr = 0; 

     cursor = grabList("SHADOWRUNSPELLS",new String[]{"Name"}, "'Category' like '" + aGroups[groupnmbr] + "'"); 
     cursor.moveToFirst(); 

     while(cursor.moveToNext()){ 
      switch(groupnmbr){ 
      case 0: Combat[childnmbr] = cursor.getString(cursor.getColumnIndex("Name")); 
        break; 
      case 1: Detection[childnmbr] = cursor.getString(cursor.getColumnIndex("Name")); 
        break; 
      case 2: Health[childnmbr] = cursor.getString(cursor.getColumnIndex("Name")); 
        break; 
      case 3: Illusion[childnmbr] = cursor.getString(cursor.getColumnIndex("Name")); 
        break; 
      case 4: Manipulation[childnmbr] = cursor.getString(cursor.getColumnIndex("Name")); 
        break; 
      } 
      childnmbr++; 
     } 
     groupnmbr++; 
    } 

    String[][] aChildren = {Combat, Detection, Health, Illusion, Manipulation}; 

    return aChildren; 
} 
+0

これは奇妙に見えます: '' '' '' ''のような "カテゴリ"(フィールドではありません!)を別の文字列と比較していますか?あなたはこれがあなたが望むものだと確信していますか? – Fixpoint

+0

カテゴリーは私のデータベースでは、この検索方法はプログラムのすべての部分で機能します。 – adragon202

答えて

0

私はこの問題を解決しました。まず、検索に必要な\」。それから私は、nullポインタ例外に走った代わりに「は、検索を取り巻く

String[] Combat = new String[grabList("SHADOWRUNSPELLS",new String[]{"Name"}, "'Category' like 'Combat'").getCount() - 1] 

String[] Combat = new String[grabList("SHADOWRUNSPELLS",new String[]{"Name"}, "'Category' like 'Combat'").getCount()] 

を変更することで解決され、各String []型のために繰り返しました。

関連する問題