限制ContentResolver.query()函数中的行数

有没有办法将返回的行数限制为游标? 我有一个有4000个联系人的电话,我只需要其中的一些。

这是我使用的代码

db = new dBHelper(this); ContentResolver cr = getContentResolver(); Cursor cursor; cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, ContactName + " ASC"); Log.i(TAG, CLASSNAME + " got contacts entries"); for (int it = 0; it <100 ; it++){//cursor.getCount() Log.i(TAG, CLASSNAME + " getting string"); String mytimes_contacted = cursor.getString(cursor.getColumnIndex(dBHelper.times_contacted)); Log.i(TAG, CLASSNAME + " done from the string"); } 

我得到的日志是

 I/Check(11506): [ContactsPicker] got contacts entries I/Check(11506): [ContactsPicker] getting first string D/AndroidRuntime(11506): Shutting down VM W/dalvikvm(11506): threadid=1: thread exiting with uncaught exception (group=0x2aac8578) D/dalvikvm(11541): GC_CONCURRENT freed 923K, 46% free 4000K/7303K, external 1685K/2133K, paused 1ms+8ms E/AndroidRuntime(11506): FATAL EXCEPTION: main E/AndroidRuntime(11506): java.lang.RuntimeException: Unable to start activity ComponentInfo{~~my package name~~}: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 3537 

Solutions Collecting From Web of "限制ContentResolver.query()函数中的行数"