如何从光标中选择指定的行?

时间:2013-01-30 06:59:03

标签: android cursor android-contentprovider

我正在使用Android,我的目的是过滤掉我的光标。游标来自数据库,它有一些行。现在我想通过使用id列从游标中跳过一些行,并将剩余的行作为游标传递给listview适配器。

我的代码就像检查行id是否等于filtercursor行id一样,然后必须跳过presentcursor的行。

代码:

  Cursor c = getActivity().getContentResolver().query(
            Provider.CONTENT_URI_DINERS, null,
            DinerColumns.COL_RESERVATION_FROM , null, null);


   c.moveToFirst();
    do{
        String dinerId = c.getString(c.getColumnIndex(DinerColumns.COL_DIN_ID));
        if(isSeatedDiner(dinerId)){

        }

    }while(c.moveToNext());

   private boolean isSeatedDiner(String dinerID){
        Cursor cursor = getActivity().getContentResolver().query(
                    Provider.CONTENT_URI_SEATED,
                    new String[] {"COUNT(*)"  },SeatedDinerColumns.COL_DINE_ID +"="+dinerID , null,
                    null);

        if(cursor.moveToFirst()){
                do
                {
                    String newId =  cursor.getString(cursor.getColumnIndex(SeatedDinerColumns.COL_DINE_ID));
                    if(Integer.parseInt(dinerID)==Integer.parseInt(newId))
                    {
                        return true;
                    }
                }while(cursor.moveToNext());
        }
        return false;
    }

1 个答案:

答案 0 :(得分:1)

您可以在查询数据库时过滤数据 或者 - Filter rows from Cursor so they don't show up in ListView