-1
이상한 제목에 대해 유감이지만 다른 설명 방법을 찾지 못했습니다. Fragment
에는 조각 내의 모든 지침이 완료 될 때까지 표시해야하는 ProgressDialog
이 있습니다. 문제는 레이아웃을 변경해야하기 5 초 전에 사라지는 것입니다. 다음은 내 코드입니다 : 모든 것이로드되기 전에 ProgressDialog가 사라집니다.
final View view = inflater.inflate(R.layout.fragment_lista, container, false);
GridView gv = (GridView) view.findViewById(R.id.gridView);
Gson gson = new GsonBuilder().serializeNulls().create();
ProgressDialog progressDialog = ProgressDialog.show(getActivity(), "", "Loading...", true);
new Thread(new Runnable() {
@Override
public void run()
{
String urlLista = null;
try {
urlLista = connection("https://www.something.com"); //personal method for this connection
} catch (IOException e) {
e.printStackTrace();
}
String listaTrimmed = urlLista.trim();
ListaManga listaManga = gson.fromJson(listaTrimmed, ListaManga.class);
List prov = new ArrayList();
for (int i = 0; i < 15; i++) {
prov.add(listaManga.getManga().get(i));
} //ArrayList of 15 elements
GridAdapter gridadapter = new GridAdapter(getActivity(), prov); //custom adapter
});
getActivity().runOnUiThread(new Runnable() {
@Override
public void run()
{
progressDialog.dismiss(); //Here is when the ProgressDialog obviously disappear
gv.setAdapter(gridadapter);
gridadapter.notifyDataSetChanged();
}
});
}
}).start();
나는 내가 ProgressDialog
의 dismiss()
는,이 조각의 모든 것이 성공적으로로드하지만 것입니다 후 내 코드로, 그렇지 않은 것으로 예상 정직해야하는 경우
Handler
지연된 게시물 안에
ProgressDialog
의
dismiss()
을 넣으려고했으나 작동했지만, 나는
ProgressDialog
의 애니메이션을 취소했다.
예 시도해 보았지만 변경되지 않았습니다. 이상한 것은 디버그 모드에서 어댑터를 설정하고 시간을 필요로하지 않는 "새로 고침"입니다. 그래서 나 자신에게 묻고 : 대화 상자를 닫은 후 응용 프로그램에 "시간이 필요합니까?" –