public static SearchResultItem fromCursor(Cursor cursor, boolean close) { SearchResultItem item = new SearchResultItem(); if (cursor.getCount() == 0) { return null; } if (cursor.getPosition() == -1) { cursor.moveToNext(); } item.setBrandName( cursor.getString(cursor.getColumnIndex(DataContract.SearchResultEntry.BRAND_NAME))) .setOriginalPrice( cursor.getString(cursor.getColumnIndex(DataContract.SearchResultEntry.ORIGINAL_PRICE))) .setPrice(cursor.getString(cursor.getColumnIndex(DataContract.SearchResultEntry.PRICE))) .setImageUrl( cursor.getString(cursor.getColumnIndex(DataContract.SearchResultEntry.IMAGE_URL))) .setAsin(cursor.getString(cursor.getColumnIndex(DataContract.SearchResultEntry.ASIN))) .setProductUrl( cursor.getString(cursor.getColumnIndex(DataContract.SearchResultEntry.PRODUCT_URL))) .setProductRating( cursor.getFloat(cursor.getColumnIndex(DataContract.SearchResultEntry.PRODUCT_RATING))) .setProductName( cursor.getString(cursor.getColumnIndex(DataContract.SearchResultEntry.PRODUCT_NAME))); if (close) { cursor.close(); } return item; }