0
我试图在我的应用程序中实现此功能,并且我知道这个问题以前曾被问过,但我没有明白。在这一刻,我通过JSON请求检索所有项目。Android在底部自动加载列表视图中的更多项目
myTicketsFragment.java
private class PrefetchData extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog = new ProgressDialog(getActivity());
dialog.setMessage("Downloading..");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
}
@Override
protected Void doInBackground(Void... arg0) {
HttpReader httpReader = new HttpReader();
httpReader
.setOnResultReadyListener(new HttpReader.OnResultReadyListener() {
@Override
public void resultReady(String result) {
JsonHelper jsonHelper = new JsonHelper();
tickets = jsonHelper.getTickets(result);
TicketAdapter ticketAdapter = new TicketAdapter(
getActivity(), tickets);
final ListView listViewTickets = (ListView) rootView
.findViewById(R.id.listViewTickets);
listViewTickets.setAdapter(ticketAdapter);
listViewTickets
.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(
AdapterView<?> parentView,
View childView, int position,
long id) {
if (isNetworkAvailable()) {
Bundle bundle = new Bundle();
bundle.putInt("ticketId",
tickets.get(position)
.getId());
Intent ticketDetail = new Intent(
getActivity(),
TicketActivity.class);
ticketDetail.putExtras(bundle);
startActivity(ticketDetail);
} else {
showNoInternetDialog();
}
}
});
listViewTickets.setEmptyView(rootView
.findViewById(R.id.empty));
dialog.dismiss();
}
});
httpReader
.execute("http://aa.aaaa.aa:8882/desk/API/v1/json.php?auth=platformt&a=getTickets&uauth="
+ authCode + "&uid=" + uId + "&mode=mytickets");
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
}
}
我想我需要知道最后一项显示和检索新的..我只是真的不明白的技术,我不能找到一个很好的例。
如果有人能带领我走向正确的方向,那会很棒!
我使用asynctask作为我的加载对话框:s – Niels
@Niels你可以在'AsyncTask'里面放置'ProgressDialog',这没关系。但请记住,在加载过程中显示“PG”并不是最好的模式 – nikis