2

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

我的代码就像检查行 id 是否等于 filtercursor 行 id 然后必须从当前光标中跳过该行。

编码:

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

1 回答 1

1

您可以在查询数据库时过滤数据。
或者 -从 Cursor 中过滤行,这样它们就不会出现在 ListView 中

于 2013-01-30T07:04:01.033 回答