как отделить данные от ArrayList <Object> - PullRequest
0 голосов
/ 11 октября 2011

У меня есть метод, который возвращает ArrayList из запроса sqlite, только 1 строка, этот массив должен иметь 3 строки;имя, описание и фото (это строка патча).Но я не знаю, как я могу отделить данные.

public ArrayList<Object> getLugarPorNombre(String nombre)
{

    ArrayList<Object> rowArray = new ArrayList<Object>();
    Cursor cursor;

    try
    {

        cursor = db.query
        (
                TABLE_NAME,
                new String[] { TABLE_ROW_ID, CNOMBRE, CDESC, CFOTO },
                CNOMBRE + "=" + nombre,
                null, null, null, null, null
        );

        //movemos el puntero a la primera posicion
        cursor.moveToFirst();

        // Si hay datos los añado al array que sera devuelto
        if (!cursor.isAfterLast())
        {
            do
            {
                rowArray.add(cursor.getLong(0));
                rowArray.add(cursor.getString(1));
                rowArray.add(cursor.getString(2));
                rowArray.add(cursor.getString(3));
            }
            while (cursor.moveToNext());
        }

        cursor.close();
    }
    catch (SQLException e) 
    {
        Log.e("Error obteniendo datos de lugar", e.toString());
        e.printStackTrace();
    }

    return rowArray;
}

и

   ayudabbdd = new DataBaseHelper(this);
    ArrayList<Object> datosLugar = ayudabbdd.getLugarPorNombre(nombreClick);

Могу ли я получить имя из списка или описания массива в отдельной строке?

Ответы [ 2 ]

2 голосов
/ 11 октября 2011

Вы имеете в виду что-то подобное:

String name = (String) datosLugar.get(1);
String description = (String) datosLugar.get(2);

Вы должны быть уверены, что элементы 1 и 2 всегда являются строками, иначе вы получите ClassCastException. Если вы хотите сделать это чище, вы, вероятно, можете создать собственный класс для вашего возвращаемого типа.

0 голосов
/ 11 октября 2011

Конечно, вы можете. Но ваш ArrayList имеет 4 элемента, а не 3, как вы упомянули в своем вопросе выше. Просто вы должны играть с ArrayList, как это

String name=datosLugar.get(1).toString();
String description=datosLugar.get(2).toString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...