如何删除方法

时间:2018-03-18 04:13:53

标签: java android geofire

我正在构建一个应用程序,我从mysql加载geoQuery = geofire.queryAtLocation。我将geoQuery放入StringRequest加载所有位置,但是当我尝试删除监听器时,无法正常工作。

我将geoQuery = geofire.queryAtLocation测试到具有特定位置的onCreate,然后工作,删除它删除的侦听器的按钮。

问题是当我将geoQuery置于另一个方法中并等待执行加载时。

我是怎么做的,要从按钮中移除它在方法中查找geoQuery并删除。?

我加载所有位置的方法,并将其放入geoQuery

public void setGeoQuery(View view){
    StringRequest strReq = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {

        @Override
        public void onResponse(String response) {
            Log.e("Response: ", response);

            try {
                JSONObject jObj = new JSONObject(response);
                String getObject = jObj.getString("saagMRK");
                JSONArray jsonArray = new JSONArray(getObject);

                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                    latLng2 = new LatLng(Double.parseDouble(jsonObject.getString(LAT)), Double.parseDouble(jsonObject.getString(LNG)));

                        geoQuery = geofire.queryAtLocation(new GeoLocation(latLng2.latitude, latLng2.longitude), 0.1f);
                        geoQuery.addGeoQueryEventListener(new GeoQueryEventListener()...
);//here
                    }
                } catch (JSONException e) {
                    // JSON error
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                Log.e("Error: ", error.getMessage());
                Toast.makeText(MainActivity.this, error.getMessage(), Toast.LENGTH_LONG).show();
            }
        });
        AppController.getInstance().addToRequestQueue(strReq, tag_json_obj);
    }

这是我按下按钮时删除的方法

public void ssGeo(View view) {
        geoQuery.removeAllListeners();
    }

0 个答案:

没有答案