29
Có cách nào giới hạn số hàng trả về cho con trỏ không? Tôi có điện thoại với khoảng 4000 số liên lạc, tôi chỉ cần một số người trong số họ.giới hạn số lượng hàng trong hàm ContentResolver.query()
này là mã tôi đang sử dụng
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");
}
Log tôi nhận được là
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
Cảm ơn Sam, tôi hoàn toàn quên di chuyển con trỏ, ngay cả trong vòng lặp, Làm thế nào ngu ngốc! Tôi sẽ cố gắng lời khuyên của bạn và quay lại với bạn – user1347945
Được cập nhật với một ví dụ giới hạn, nhưng nó được giới hạn trong 100 kết quả đầu tiên. Câu hỏi thực sự là _how_ bạn có muốn giới hạn con trỏ không? Chỉ những người có tên "Bob"? – Sam
ummmm, sai lầm đã thực sự di chuyển con trỏ xung quanh, nhưng điều tốt mà tôi đã học được bây giờ làm thế nào để giới hạn con trỏ. Câu hỏi đặt ra là, làm thế nào để giới hạn kích thước con trỏ để tôi có thể nhận được số hàng hạn chế ngay cả khi cơ sở dữ liệu có nhiều hơn số tôi đã chỉ định ... – user1347945