一共三个Fragment,每次我想在请求网络的之前弹出一个等待框。但都要等到网络请求完毕,并且Fragment里的数据都更新完了这个框才弹出来。我打断点一步一步走也是,dialog.show()都已经执行过了,但手机上框还没有弹出来 , 一直走到adapter.notifyDataSetChanged()把数据更新了才弹出来。
这是我的Fragment
public class FindFragment extends Fragment
这个changeRandBook()方法是写到上面那个FindFagment里的,一直到最后randAdapter.notifyDataSetChanged(),框才弹出来
private void changeRandBook()
{
WaitDialog waitDialog = new WaitDialog(getContext());
waitDialog.show();
List<String> nameList = new ArrayList<>(SIZE);
nameList.add(PARAM_ACTION);
nameList.add(PARAM_RAND_COUNT);
List<String> valueList = new ArrayList<>(SIZE);
valueList.add(ACTION_RAND_LIST);
valueList.add(RAND_COUNT);
try(Response response = createRequestCall(ROOT_URL + BOOK_URL , nameList , valueList))
{
List<Book> tempList = new Gson().fromJson(response.body().string() , new TypeToken<List<Book>>(){}.getType());
randBookList.clear();
randBookList.addAll(tempList);
randAdapter.notifyDataSetChanged();
}
catch(IOException e)
{
e.printStackTrace();
}
}
求帮助!卡了两天了