在android中刷新列表视图
我有一个listview,其中包含来自webservice的值。每个页面仅包含10个listitems,接下来的10个在第2页等。每个listitem都可以单击,并且它包含一个主要用于投票的按钮。因此,当我单击列表项1中的按钮时,会向webservice添加一个值 按钮点击代码放置在自定义的基本适配器类中。这样我就可以轻松添加投票。但问题是,当我提交投票时,我也想刷新我的listview。假设我在第5页,刷新该listview页面 如何在将值提交到webservice后立即刷新此listview main.java的示例代码在android中刷新列表视图,android,listview,Android,Listview,我有一个listview,其中包含来自webservice的值。每个页面仅包含10个listitems,接下来的10个在第2页等。每个listitem都可以单击,并且它包含一个主要用于投票的按钮。因此,当我单击列表项1中的按钮时,会向webservice添加一个值 按钮点击代码放置在自定义的基本适配器类中。这样我就可以轻松添加投票。但问题是,当我提交投票时,我也想刷新我的listview。假设我在第5页,刷新该listview页面 如何在将值提交到webservice后立即刷新此listview
private class ProgressThreadNextPageLoading extends
AsyncTask<String, Void, String> {
// private String Content;
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(KidsCrackMeUp.this);
progressDialog.setMessage("Loading..Please Wait..");
progressDialog.setIcon(R.drawable.icon);
progressDialog.show();
}
@Override
protected String doInBackground(String... urls) {
String response = "";
// call ur webservice here
try {
// pagenum = 1;
posts= web
.getAllposts(pagenum);
response = "Yes";
} catch (Exception e) {
e.printStackTrace();
response = "Failure";
}
return response;
}
@Override
protected void onPostExecute(String result) {
// below line code is to dismiss the progress bar
progressDialog.dismiss();
if (posts != null) {
adapter = new DynamicListAdapter(
main.this, posts
lstPosts.setAdapter(adapter);
adapter.notifyDataSetChanged();
//btnState.setPressed(true);
}
调用listview适配器的方法将更改更新为:
adapter.notifyDataSetChanged();
您必须通知ListView适配器数据已更改
listViewAdapater.notifyDataSetChanged();
您可以通过构造函数使用更新的数组重新获得适配器。我是否应该检查任何条件?投票操作完成后,只需更新适配器类中使用的数据,然后调用适配器的notifyDataSetChanged来自动更新列表中的视图。对不起,我在问我应该将此代码放在哪里?listview是在活动开始时加载的。因此我不知道将此notify放置在何处。当您按下按钮并在其调用操作完成的块时,请将其包含在底部。实际上,我的投票按钮在自定义适配器类中。可能重复
listViewAdapater.notifyDataSetChanged();