【发布时间】:2017-11-09 00:38:56
【问题描述】:
如何在 android Fragment 中调用 onCreateView 中的方法?
onCreateView 代码:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
final Bundle savedInstanceState) {
// Inflate the layout for this fragment
View rootView = inflater.inflate(R.layout.fragment_user_list, container, false);
btnBusquedaUserList = (Button) rootView.findViewById(R.id.btnBuscarUserList);
rvUserList = (RecyclerView) rootView.findViewById(R.id.rvUserList);
rvUserList.setLayoutManager(new LinearLayoutManager(getContext()));
txtCIbusqueda = (TextInputEditText) rootView.findViewById(R.id.txtCIUserList);
getActivity().setTitle("Lista Usuarios Check In");
Bundle args = getArguments();
idUsuario = args.getString("idLogueado");
GetClient();
btnBusquedaUserList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ciUser = txtCIbusqueda.getText().toString();
Object lista[] = new Object[2];
lista[0] = ciUser;
lista[1] = idUsuario;
parametroApi.setDatoG(lista);
GetClient();
}
});
return rootView;
};
我的方法GetClient()
public void GetClient() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://80.241.210.8:8080/Exma/Service/api/")
.addConverterFactory(GsonConverterFactory.create())
.build();
ExmaApi service = retrofit.create(ExmaApi.class);
Call<Respuesta<List<DataList>>>call=service.putClientList(parametroApi);
call.enqueue(new Callback<Respuesta<List<DataList>>>() {
@Override
public void onResponse(Call<Respuesta<List<DataList>>> call,
Response<Respuesta<List<DataList>>> response) {
if (response.isSuccessful()) {
Respuesta<List<DataList>> respuesta = response.body();
try {
if (respuesta.respuestaExitosa() == true) {
Log.d(TAG, "TodoBien: " + respuesta.toString());
rvAdapter = new MyRecyclerViewAdapter(getActivity().getApplicationContext(), respuesta);
rvUserList.setAdapter(rvAdapter);
}
} catch (Exception e) {
Log.d(TAG, "onResponse" + "Ocurrio un Error");
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call<Respuesta<List<DataList>>> call, Throwable t) {
Log.d(TAG, "TodoMal: " + t.getMessage().toString());
}
});
}
当我想在onCreateView中调用方法GetClient()时遇到问题,该方法没有启动,但是在onClickListener中从按钮开始,该方法启动没有问题,有什么方法可以调用该方法?在来自Fragments 的onCreateView 中,我想在该片段开始时执行该方法
【问题讨论】:
标签: java android methods fragment retrofit