getAtenciones(@Query("-6ren">
gpt4 book ai didi

android - Android Fragment中的Retrofit2如何正确实现?

转载 作者:行者123 更新时间:2023-12-03 19:38:11 27 4
gpt4 key购买 nike

我正在使用 Retrofit 2 来使用 API。我有一个返回列表的服务(接口(interface)):

@GET("atenciones")
Call<List<Atencion>> getAtenciones(@Query("medico_id") int id, @Query("date1") String date1, @Query("date2") String date2)
我应该在哪里提出请求?在 MainActivity其中包含 Fragment并使用 Bundle 发送结果列表?还是应该在 fragment 中提出请求?这是一个列表,而不是单个对象。哪个是正确的方法?
编辑
尝试在 Fragment 中调用改造,这是我的代码:
public class FragmentRendicion extends Fragment {

private LinearLayoutManager layoutManager;
View rootView;
APIService api;

public FragmentRendicion() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

rootView = inflater.inflate(R.layout.fragment_rendicion, container, false);
api= ApiUtils.getAPIService();
getAtenciones();
return rootView;
}

private void getAtenciones() {
//using static parameters
Call<List<Atencion>> call= api.getAtenciones(293,"2014-10-13","2014-10-13");
call.enqueue(new Callback<List<Atencion>>() {
@Override
public void onResponse(Call<List<Atencion>> call, Response<List<Atencion>> response) {
System.out.println("estamos aquiiii "+response.message());
List<Atencion> atenciones= response.body();
layoutManager= new LinearLayoutManager(getActivity());
RecyclerView recycler= (RecyclerView)rootView.findViewById(R.id.rvRendicion);
recycler.setLayoutManager(layoutManager);
RvRendicionAdapter rvAdapter= new RvRendicionAdapter(atenciones);
recycler.setAdapter(rvAdapter);


}

@Override
public void onFailure(Call<List<Atencion>> call, Throwable t) {
System.out.println("FALLOOOOO: "+t.getMessage());//HERE RETUNRS NULL
}
});

}
}
有人可以告诉我在 fragment 中调用retrofit2是否正确?

最佳答案

这取决于您的代码结构,但由于您使用的是 fragment ,我最好的猜测是您应该在 Fragment 中执行此操作。 .

onResponseOK在改造电话中,你会得到这样的东西:

@Override
public void onResponseOK(Response<List<Atencion>> response) {
...
//access data here
}

callback你得到你的 list 。将列表传递给您的(我想) Recycler/Listview. 的适配器像这样访问列表:
List<Atencion> myList = response.body();

关于android - Android Fragment中的Retrofit2如何正确实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44931034/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com