java – 在Volley中更新UI的最有效方法是什么
发布时间:2020-12-15 02:08:14 所属栏目:Java 来源:网络整理
导读:最近我在 android中使用Volley库..它工作正常,但我想知道更新UI的最有效方法..我有一个Utils类,有所有的Volley方法..现在我传递所有的视图将作为参数更新,但我已经读过我可以在我的活动中实现监听器,然后将它们作为参数传递给Utils类. 所以我的问题是: 哪个
最近我在
android中使用Volley库..它工作正常,但我想知道更新UI的最有效方法..我有一个Utils类,有所有的Volley方法..现在我传递所有的视图将作为参数更新,但我已经读过我可以在我的活动中实现监听器,然后将它们作为参数传递给Utils类.
所以我的问题是: 哪个更有效,为什么更新这样的UI: public void getSettings(final TextView exampleView) { JsonObjectRequest jsonRequest = new JsonObjectRequest(Method.GET,url,(String) null,new Response.Listener<JSONObject>() { public void onResponse(JSONObject response) { try { final String setting = getSettingFromJSON(response); exampleView.setText(setting); } catch (JSONException e) { e.printStackTrace(); } } },new Response.ErrorListener() { public void onErrorResponse(VolleyError arg0) { } }); app.add(jsonRequest); } 或者我在我的活动中声明听众: Response.Listener<JSONObject> listener = new Response.Listener<JSONObject>() { public void onResponse(JSONObject response) { String setting = Utils.getSettingFromJSON(response); exampleView.setText(setting); } }; 然后我将它们作为参数传递给我的utils函数,所以调用将是这样的: utils.getSettings(listener); 代替 : utils.getSettings(exampleView); 提前致谢 :) 解决方法
为什么不使用像
EventBus这样的东西管理从请求到您的活动的回传信息?这样,您就可以将您的网络代码与您的活动/视图分开.使用EventBus和Volley的基本思想如下:
>注册一个类来接收某种类型的事件,在这种情况下可能 有关更详细的示例,请查看此blogpost或Eventbus的github页面. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |