2012-04-10 19 views
-1

私は次のコードにする必要があります。私はこれが配列を返すようにしたい。 arg[]には、arg[0]にマイカーソルの行数と、arg[1]String(0)のマイカーソルが含まれています。 1つは整数でもう1つは文字列なので問題があります。任意のアイデアをどのようにこれを修正するには?文字列と整数を同じ配列に配置するにはどうすればよいですか?

public String[] getSubcategoriesRow(String id){ 
    this.openDataBase(); 
    String[] asColumnsToReturn = new String[] {SECOND_COLUMN_ID,SECOND_COLUMN_SUBCATEGORIES,}; 
    Cursor cursor = this.dbSqlite.query(SECOND_TABLE_NAME, asColumnsToReturn, SECOND_COLUMN_SUBCATEGORIES + "= \"" + id + "\"", null, null, null, null); 

    String string = cursor.getString(0); 
    int count = cursor.getCount(); 
    String arg[] = new String[]{count, string}; 
    cursor.close(); 
    return arg; 
    } 

カーソルと結果とは、正しいものを返すために配列にコンパイルするだけです。

+1

それは、配列またはメソッドから2つの値を返すためだけの機構である必要がありますか? – hmjd

+0

私はオプションがないので心配していません。 –

答えて

1

いずれか:

  1. 使用Object[](対象配列)の代わりにString[] - 推奨しない、または
  2. は、データを保持するための新しい、有意義クラスを作成します。

    public Subcategory getSubcategoriesRow(String id){ 
        this.openDataBase(); 
        String[] asColumnsToReturn = new String[] {SECOND_COLUMN_ID,SECOND_COLUMN_SUBCATEGORIES,}; 
        Cursor cursor = this.dbSqlite.query(SECOND_TABLE_NAME, asColumnsToReturn, SECOND_COLUMN_SUBCATEGORIES + "= \"" + id + "\"", null, null, null, null); 
    
        String string = cursor.getString(0); 
        int count = cursor.getCount(); 
        Subcategory toReturn = new Subcategory(count, string); 
        cursor.close(); 
        return toReturn; 
        } 
    
関連する問題