我正在使用recreate()进行刷新,但是为什么要进行两次刷新?

时间:2019-02-11 03:40:30

标签: android page-refresh

我正在使用recreate和refresh()每分钟刷新一次页面,但它刷新两次。第一次刷新是在1分钟后,而下次刷新是在2秒后,是第一次刷新。

我尝试更改刷新中的代码,但没有用。

private void loadalltrolley(){
    StringRequest stringRequest = new StringRequest(Request.Method.GET,   PRODUCT_URL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    try {
                        JSONArray products = new JSONArray(response);

                        for(int i =0;i<products.length();i++){
                            JSONObject productObject = products.getJSONObject(i);
                            String gate_no = productObject.getString("gate_no");
                            String dock_name = productObject.getString("dock_name");
                            String dock_desc = productObject.getString("dock_desc") ;
                            int flight_arrival = productObject.getInt("flight_arrival");
                            int trolley_count = productObject.getInt("trolley_count");

                            Product product = new Product(gate_no,dock_name,dock_desc,flight_arrival,trolley_count);
                            allterminalList.add(product);




                        }



                        allterminaladapter = new ProductAdapter(alert.this,allterminalList);
                        recyclerView.setAdapter(allterminaladapter);
                        int count = allterminaladapter.getItemCount();
                        int i =0;



                        if (count>0)
                        {
                            displayNotification();
                        }

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(alert.this,error.getMessage(),Toast.LENGTH_SHORT).show();
        }
    });
    Volley.newRequestQueue(this).add(stringRequest);


    refresh(60000);


}


public void refresh(int milliseconds){
    final Handler handler = new Handler();
    final Runnable runnable = new Runnable() {
        @Override
        public void run() {
            recreate();
        }
    };
    handler.postDelayed(runnable,milliseconds);
} 

我希望它仅刷新1次,而不是两次刷新。我只想在1分钟后刷新应用程序。

0 个答案:

没有答案