Java 如何从ArrayList中分离数据<;对象>;

Java 如何从ArrayList中分离数据<;对象>;,java,android,arraylist,Java,Android,Arraylist,我有一个从sqlite查询返回ArrayList的方法,只有一行,这个数组必须有3个字符串;名称、描述和照片(这是一个补丁字符串)。但我不知道如何分离数据 public ArrayList<Object> getLugarPorNombre(String nombre) { ArrayList<Object> rowArray = new ArrayList<Object>(); Cursor cursor; try {

我有一个从sqlite查询返回ArrayList的方法,只有一行,这个数组必须有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;
}
public ArrayList getLugarPorNombre(字符串名)
{
ArrayList rowArray=新的ArrayList();
光标;
尝试
{
cursor=db.query
(
表格名称,
新字符串[]{TABLE_ROW_ID,CNOMBRE,CDESC,CFOTO},
CNOMBRE+“=”+nombre,
空,空,空,空,空,空
);
//移动一个最原始的位置
cursor.moveToFirst();
//这是一个非常有趣的故事
如果(!cursor.isAfterLast())
{
做
{
添加(cursor.getLong(0));
添加(cursor.getString(1));
添加(cursor.getString(2));
添加(cursor.getString(3));
}
while(cursor.moveToNext());
}
cursor.close();
}
捕获(SQLE异常)
{
Log.e(“错误obteniendo datos de lugar”,e.toString());
e、 printStackTrace();
}
返回行数组;
}

ayudabbdd=newdatabasehelper(这个);
ArrayList datosLugar=ayudabbdd.getLugarPorNombre(nombreClick);

我可以从数组列表或单独字符串中的描述中获取名称吗?

您的意思是这样的:

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

您必须确保元素1和2总是字符串,否则您将得到ClassCastException。如果你想让它更简洁,你可以为你的返回类型创建一个自己的类。

当然可以。但是你的ArrayList有4个项目,而不是你在上面的问题中提到的3个。你只需要像这样玩ArrayList

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