【发布时间】:2012-02-11 06:22:51
【问题描述】:
我有一个列表视图,其中包含来自 webservice 的值。每个页面仅包含 10 个列表项,第 2 页中的下一个 10 个等。每个列表项都是可点击的,它包含一个主要用于投票的按钮。所以当我单击按钮时列表项 1 ,向 webservice 添加一个值。
按钮点击代码放置在一个自定义的基础适配器类中。这样我就可以轻松地添加投票。但问题是,当我提交投票时,我也想刷新我的列表视图。假设如果 iam 在页面没有5、刷新那个listview页面。
如何在将值提交到 webservice 后立即刷新此列表视图?
main.java 的示例代码
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);
}
------------------------------------自定义适配器类
viewHolder.btnVoting.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
final Dialog d = new Dialog(activity);
d.requestWindowFeature(Window.FEATURE_NO_TITLE);
d.setContentView(R.layout.voteselectornew);
Button btnCategoryCancel = (Button) d
.findViewById(R.id.btnCategoryCancel);
Button twcVote = (Button) d
.findViewById(R.id.btnTwcVote);
twcVote.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String confirm = web
.addTwcVote(UserSessionKey, Userlist.get(position).contentid);
if (confirm.contains("Successfully")) {
d.dismiss();
}
【问题讨论】: