0

I used fragment in my application and when there is not internet app getting force close . I don't know what can I do . please help me this code works perfect but when internet lost the application get error and force close i use method to check internet by ping but it makes my app too slow

public static void get_detail(final int pages){

    MainActivity.logo11.setImageResource(R.drawable.loading);

    AsyncHttpPost post = new AsyncHttpPost(
      "domain"
    );

    post.setTimeout(30000);

    MultipartFormDataBody body = new MultipartFormDataBody();

    body.addStringPart("City",MainActivity.sp.getString("City",null));
    body.addStringPart("Cate","all");
    body.addStringPart("Page", String.valueOf(pages));

    post.setBody(body);

    AsyncHttpClient.getDefaultInstance().executeString(post, new AsyncHttpClient.StringCallback() {
        @Override
        public void onCompleted(final Exception e, AsyncHttpResponse source, final String result) {

            if(e != null){
                MainActivity.activity.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(MainActivity.activity,"network error",Toast.LENGTH_LONG).show();
                        refresh.setRefreshing(false);
                        e.printStackTrace();
                    }
                });
            }

            if(!result.equals("")){
                MainActivity.activity.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {

                        MainActivity.logo11.setImageResource(R.drawable.logo);

                        if(page==0){
                            hash_all.clear();
                        }
                        items.clone();
                        try {
                            JSONArray jsonArray = new JSONArray(result);
                            for (int i = 0 ;i<jsonArray.length();i++){
                                JSONObject object = jsonArray.getJSONObject(i);
                                HashMap<String , Object> hash_add = new HashMap<String, Object>();

                                hash_add.put("ID",object.getString("ID"));
                                hash_add.put("Username",object.getString("Username"));
                                hash_add.put("Title",object.getString("Title"));
                                hash_add.put("Descript",object.getString("Descript"));

                                hash_all.add(hash_add);
                                items = new String[hash_all.size()];
                            }
                            ad.notifyDataSetChanged();
                            refresh.setRefreshing(false);
                        }catch (Exception e){
                            e.printStackTrace();
                        }
                    }
                });
            }else {
                Toast.makeText(MainActivity.activity,"error",Toast.LENGTH_LONG).show();
            }
        }
    });
}
Vishal Vaishnav
  • 3,346
  • 3
  • 26
  • 57
sami rahimi
  • 13
  • 1
  • 5

0 Answers0