我正在开发一个片段,允许同时从许多webservice(JSON)获取数据。让我们想象一下这张图片: demo image
> @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); BaseDataReponsitory baseDataReponsitory = new BaseDataReponsitory(); baseDataReponsitory.getDataFromURL(url1, this); baseDataReponsitory.getDataFromURL(url2, this); }
@Override public void loadListFromURLFinish(String json) { ListEntity listEntity = gson.fromJson(json, ListEntity.class); mList.addAll(listEntity.getEntityList()); Log.d(TAG, "loadListFromURLFinish: " + mList.size()); }
数据日志是4和9。这是正确的(JSON 1有4个元素,JSON 2有9个元素)。 我的问题是如何分割数据以设置视图(参见上图)?
答案 0 :(得分:0)
您可能希望在回调中添加辅助参数以区分呼叫,例如
public static final int CODE_1 = 1;
public static final int CODE_2 = 2;
@Override
public void loadListFromURLFinish(String json, int requestCode) {
if(requestCode == CODE_1) // do stuff
else if(requestCode == CODE_2) // do other stuff
}
你会这样称呼它
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BaseDataReponsitory baseDataReponsitory = new BaseDataReponsitory();
baseDataReponsitory.getDataFromURL(url1, this, CODE_1);
baseDataReponsitory.getDataFromURL(url2, this, CODE_2);
}
当您致电回调时,您会传递CODE_X
变量,以便区分。