آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در اسکرول سریع ریسایکرویو

125847  9 سال پیش  9 سال پیش
0 0

سلام 

هنگامی که ریسایکلرویو اسکرول سریع میشه ایتم ها جابجا میشه. ترتیب دریافت هم به این صورت است که لیست بی پایان هست که 12 تا 12 از سرور میگیره.

مشکل از کجاس؟

با تشکر

زمانی که اسکرول میشه

public  class home_agahi3_server  extends AsyncTask<String,Void,String> {

private Context c;
private Activity ac;

private String state_id;
private String lim;
private RecyclerView rec;
AgahiRecyclerAdapter adp;


public home_agahi3_server(Context c,Activity ac,String lim,AgahiRecyclerAdapter adp
){
this.c=c;
this.ac=ac;

this.lim=lim;
this.adp=adp;



}


@Override
protected void onPreExecute() {
super.onPreExecute();



lay2.setVisibility(View.VISIBLE);


}

@Override
protected String doInBackground(String... strings) {


try {
String data = URLEncoder.encode("get_post", "UTF-8") + "=" + URLEncoder.encode("true", "UTF-8");
// data+="&"+ URLEncoder.encode("state_id", "UTF-8")+"="+URLEncoder.encode(state_id,"UTF-8");
data += "&" + URLEncoder.encode("lim", "UTF-8") + "=" + URLEncoder.encode(lim, "UTF-8");

//Thread.sleep(10);
// SystemClock.sleep(1000);


//
URL url = new URL(MainActivity.url + "post.php");
URLConnection connect = url.openConnection();
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setConnectTimeout(3000);
urlc.connect();

errorMessage = urlc.getResponseCode() == 200 ? "Successful Connection" : "Internet Error";
if (urlc.getResponseCode() == 200) {

connect.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(connect.getOutputStream());
wr.write(data);
wr.flush();
wr.close();

//
InputStreamReader in = new InputStreamReader(connect.getInputStream());
BufferedReader reader = new BufferedReader(in);
String line = "";
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null) {
sb.append(line);

}
return sb.toString();
}


} catch (SocketTimeoutException e) {
errorMessage = "Connection Error1";
return "err1";

} catch (MalformedURLException e) {
errorMessage = "Connection Error2";
return "err1";

} catch (IOException e) {
errorMessage = "Connection Error3";
return "err1";

}

return "";


}

@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
// lay2.setVisibility(View.GONE);
// lay2.setBackgroundResource(R.drawable.bg_cadr_around);

if(s.equals("err1")||s.equals("")){

final android.app.AlertDialog OptionDialog = new android.app.AlertDialog.Builder(getActivity()).create();
LayoutInflater factory = LayoutInflater.from(getActivity());
final View f = factory.inflate(R.layout.row_connect, null);
OptionDialog.setView(f);
MainActivity.K= Typeface.createFromAsset(getActivity().getAssets(), "fonts/k.ttf");
MainActivity.T=Typeface.createFromAsset(getActivity().getAssets(),"fonts/t.ttf");
TextView txt_1= (TextView) f.findViewById(R.id.connect_txt1);
TextView txt_2= (TextView) f.findViewById(R.id.connect_txt2);
OptionDialog.setCancelable(false);
txt_1.setTypeface(MainActivity.K);
txt_2.setTypeface(MainActivity.K);
txt_1.setText("عدم دسترسی به اینترنت ");

txt_2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OptionDialog.dismiss();


mTask = new home_agahi3_server(getActivity().getApplicationContext(), getActivity(),
limit + "", adapter
);
mTask.executeOnExecutor(mTask.THREAD_POOL_EXECUTOR, "");
}
});

OptionDialog.show();


}else {

lay2.setVisibility(View.GONE);



JSONArray arr = null;
JSONObject ob = null;

//Toast.makeText(c,scroll+"",Toast.LENGTH_SHORT).show();
scroll = 0;
try {
arr = new JSONArray(s);
for (int i = 0; i < arr.length(); i++) {

ob = arr.getJSONObject(i);

_name.add(ob.getString("title"));
_img.add(ob.getString("img"));
_price.add(ob.getString("price"));
_menu_order.add(ob.getString("order"));
_id.add(ob.getString("id"));

_time.add(ob.getString("time"));

/*_imgs.add(ob.getString("imgs"));

_color.add(ob.getString("color"));
_size.add(ob.getString("size"));
_shenas.add(ob.getString("shenas"));

_expire.add(ob.getString("expire"));
_visit_today.add(ob.getString("todayvisit"));
_visit_total.add(ob.getString("totalvisit"));
_mobile.add(ob.getString("mobile"));
_cat.add(ob.getString("cat"));
_user_id.add(ob.getString("user"));

_link.add(ob.getString("link"));*/


}

// adapter.notifyItemRangeInserted(limit,_time.size());
adapter.notifyDataSetChanged();




} catch (Exception e) {
//Toast.makeText(c,"errors in json",Toast.LENGTH_SHORT).show();
}
}

}
}
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .