Я использую this для разбивки на страницы. Но у меня проблема, что она бесконечно прокручивает страницу. Напр. Если на моей последней странице есть продукты, меньшие лимита, то 4 продукта загружаются после 2 страниц по 20 продуктов каждый, а затем 4 продукта начинают бесконечно повторяться. Я использую следующий код, чтобы показать продукты:Бесконечный вопрос прокрутки с помощью EndlesScroll Android
grid.setOnScrollListener(new EndlessScrollListener() {
@Override
public boolean onLoadMore(int page, int totalItemsCount) {
if (query != null || featureProductJson != null) {
return empty;
}
if (!empty && !loading) {
page++;
productList product = new productList();
product.execute(category_id, String.valueOf(limit), String.valueOf(page));
}
return empty;
}
});
Мой AsyncTask для загрузки продукта:
private class productList extends AsyncTask<String, Void, JSONObject> {
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = true;
showProgressDialog(cpv);
}
@Override
protected JSONObject doInBackground(String... params) {
return NetworkAdapter.getProduct(getActivity(), prefs.getAccessToken(), params[0], params[1], params[2]);
}
@Override
protected void onPostExecute(JSONObject result) {
super.onPostExecute(result);
hideProgressDialog(cpv);
loading = false;
LogManager.e(TAG, "onPostExecute ============== :: " + result);
try {
if (result == null) {
return;
}
if (result.has("statusCode")) {
if (result.getInt("statusCode") == NetworkResponse.CONNECTION_ERROR) {
GeneralFunctions.showShortToast(getActivity(), getResources().getString(R.string.connection_error));
return;
} else if (result.getInt("statusCode") == NetworkResponse.SYSTEM_ERROR) {
GeneralFunctions.showShortToast(getActivity(), result.getString("statusText"));
return;
}
}
String data = result.toString();
Object json = new JSONTokener(data).nextValue();
if (json instanceof JSONObject) {
//String obj = result.getString("success");
boolean success = result.getBoolean("success");
if (!success) {
empty = true;
} else {
JSONArray array = result.getJSONArray("data");
for (int i = 0; i < array.length(); i++) {
JSONObject object = array.getJSONObject(i);
Product product = new Product();
product.setName(object.getString("name"));
product.setImage(object.getString("image"));
product.setDesc(object.getString("description"));
product.setPrice(object.getString("price"));
product.setProductId(object.getString("id"));
product.setSpecialPrice(object.getString("special"));
product.setQuantity(object.getString("quantity"));
productList.add(product);
}
adapter.notifyDataSetChanged();
page++;
}
}
//you have an object
else if (json instanceof JSONArray) {
}
} catch (JSONException e) {
empty = true;
e.printStackTrace();
}
}
}
Пожалуйста, помогите, что я делаю неправильно.
Logcat:
04-15 12:32:11.157 4630-4630/com.eCommerce E/ProductFragment: onPostExecute ============== :: {"data":[{"length_class":"cm","location":"","tag":"samsung, galaxy, sduos, white","price_formated":"Rs4,500","weight_class_id":"1","mpn":"","height":"0.00000000","attribute_groups":[],"description":"<div class=\"sidebar\" id=\"column-left\">\n<div class=\"box category highlights\">\n<div class=\"box-heading\"><span>SPECIFICATIONS<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"box productcarousel\">\n<div class=\"box-heading \"><span>GENERAL FEATURES<\/span><\/div>\n<\/div>\n\n<table>\t<tbody style=\"margin: 0px; padding: 0px;\">\n\t\t\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Brand<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Samsung<\/td>\n\t\t<\/tr>\n\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Form<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Bar<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Call Features<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Loudspeaker<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Model Name<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Galaxy S Duos 3 VE<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Touch Screen<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">SIM Type<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Dual Sim, GSM + GSM<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Model ID<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">SM-G316H<\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n\n<div class=\"box productcarousel\"><div class=\"box-heading \"><span>MULTIMEDIA<\/span><\/div><\/div><table><tbody style=\"margin: 0px; padding: 0px;\">\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Video Player<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Music Player<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes, Supports MP3<\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n\n<div class=\"box productcarousel\"><div class=\"box-heading \"><span>CAMERA<\/span><\/div><\/div><table><tbody style=\"margin: 0px; padding: 0px;\">\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Video Recording<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes, 720 x 1280<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Flash<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">LED<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin
04-15 12:32:11.247 4630-5268/com.eCommerce E/NetworkAdapter: SERVICE_URL ============== :: http://websiteaddresshere/index.php?route=feed/rest_api/products&category=92&limit=30&page=3
04-15 12:32:17.947 4630-5268/com.eCommerce E/NetworkAdapter: Categories response ============== :: {"success":true,"data":[{"id":"1254","seo_h1":"","name":"Samsung Galaxy Sduos 3 White","manufacturer":"Samsung","sku":"","model":"SM-G316 White","image":"http:\/\/websiteaddresshere\/image\/cache\/catalog\/samsung\/sduos3w3-500x500.jpg","images":["http:\/\/websiteaddresshere\/image\/cache\/catalog\/samsung\/sduos3w3-500x500.jpg","http:\/\/websiteaddresshere\/image\/cache\/catalog\/samsung\/sduos3w2-500x500.jpg","http:\/\/websiteaddresshere\/image\/cache\/catalog\/samsung\/sduos3side-500x500.jpg"],"price":"4,500","price_formated":"Rs4,500","rating":0,"description":"<div class=\"sidebar\" id=\"column-left\">\n<div class=\"box category highlights\">\n<div class=\"box-heading\"><span>SPECIFICATIONS<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"box productcarousel\">\n<div class=\"box-heading \"><span>GENERAL FEATURES<\/span><\/div>\n<\/div>\n\n<table>\t<tbody style=\"margin: 0px; padding: 0px;\">\n\t\t\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Brand<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Samsung<\/td>\n\t\t<\/tr>\n\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Form<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Bar<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Call Features<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Loudspeaker<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Model Name<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Galaxy S Duos 3 VE<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Touch Screen<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">SIM Type<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Dual Sim, GSM + GSM<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Model ID<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">SM-G316H<\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n\n<div class=\"box productcarousel\"><div class=\"box-heading \"><span>MULTIMEDIA<\/span><\/div><\/div><table><tbody style=\"margin: 0px; padding: 0px;\">\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Video Player<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Music Player<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes, Supports MP3<\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n\n<div class=\"box productcarousel\"><div class=\"box-heading \"><span>CAMERA<\/span><\/div><\/div><table><tbody style=\"margin: 0px; padding: 0px;\">\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Video Recording<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; paddi
04-15 12:32:17.987 4630-4630/com.eCommerce E/ProductFragment: onPostExecute ============== :: {"data":[{"length_class":"cm","location":"","tag":"samsung, galaxy, sduos, white","price_formated":"Rs4,500","weight_class_id":"1","mpn":"","height":"0.00000000","attribute_groups":[],"description":"<div class=\"sidebar\" id=\"column-left\">\n<div class=\"box category highlights\">\n<div class=\"box-heading\"><span>SPECIFICATIONS<\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"box productcarousel\">\n<div class=\"box-heading \"><span>GENERAL FEATURES<\/span><\/div>\n<\/div>\n\n<table>\t<tbody style=\"margin: 0px; padding: 0px;\">\n\t\t\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Brand<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Samsung<\/td>\n\t\t<\/tr>\n\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Form<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Bar<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Call Features<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Loudspeaker<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Model Name<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Galaxy S Duos 3 VE<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Touch Screen<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">SIM Type<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Dual Sim, GSM + GSM<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Model ID<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">SM-G316H<\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n\n<div class=\"box productcarousel\"><div class=\"box-heading \"><span>MULTIMEDIA<\/span><\/div><\/div><table><tbody style=\"margin: 0px; padding: 0px;\">\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Video Player<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Music Player<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes, Supports MP3<\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n\n<div class=\"box productcarousel\"><div class=\"box-heading \"><span>CAMERA<\/span><\/div><\/div><table><tbody style=\"margin: 0px; padding: 0px;\">\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Video Recording<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Yes, 720 x 1280<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin: 0px; padding: 0px;\">\n\t\t\t<td class=\"specsKey\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">Flash<\/td>\n\t\t\t<td class=\"specsValue\" style=\"margin: 15px 0px; padding: 12px; vertical-align: top;\">LED<\/td>\n\t\t<\/tr>\n\t\t<tr style=\"margin
это категория идентификатор строки? – Jois
да это строка –
Можете ли вы разместить свой logCat – Jois