我试图动态加载listview。
首先,从Web服务器获取前10个数据并将其添加到listview。 对于每十行,在获取数据时应出现proggress对话框。 如果我不使用dismis,则会出现proggres对话框。 如果我使用dismis,proggresbar不会出现或出现,也不会在屏幕上显示。 虽然从Web服务屏幕获得响应持续1-2秒。它不应该。 这是我的代码
public void setMessageList(int rowsArea){
ProgressDialog progressDialog = ProgressDialog.show(AdminMessages.this, "", "Loading...");
progressDialog.getWindow().setGravity(Gravity.BOTTOM);
List<NameValuePair> parameter = new ArrayList<NameValuePair>();
String url_confirmation =getInstance.getInstance().getUrl()+"getspecificrowmessages.php";
parameter.add(new BasicNameValuePair("rowsarea", Integer.toString(rowsArea)));
JSONObject json = jsonParser.makeHttpRequest(url_confirmation,"POST", parameter);
try {
int success = json.getInt("result");
if(success == 1) {
JSONArray messages = json.getJSONArray("messages");
for(int i=0;i<messages.length();i++){
JSONObject c = messages.getJSONObject(i);
String subject=c.getString("theSubject");
Integer id=c.getInt("id");
Integer msgId=c.getInt("msgId");
String senderName=c.getString("sender_name");
String receiverName=c.getString("recipient_name");
String dateTime=c.getString("dateTime");
String theFileNames=c.getString("theFileNames");
messageDetailList.add(new MessageListDetail(subject,senderName,receiverName,dateTime,theFileNames,id,msgId));
}
page+=10;
}
progressDialog.dismiss();
}
catch (JSONException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
原因是您应该使用ProgressBar,并使用setVisibility(View.VISIBLE)
管理其可见性以显示它,并setVisibility(View.GONE)
隐藏它。