-1

私はコードに従う必要があります。たとえば、カーソルの行数とカーソルの行数arg[]を含む配列を返すようにします。一方は整数で、もう一方は文字列であるため、問題があります。これを修正する方法はありますか?arg[0]arg[1] String(0)

    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;
  }

カーソルと結果と正しい i を返すには、それらを配列にコンパイルする必要があります。

4

1 に答える 1

1

また:

  1. a の代わりにan 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;
      }
    
于 2012-04-10T17:22:32.370 に答える