刷新列表视图出错

时间:2016-10-12 04:11:57

标签: android listview

我有刷新列表视图的问题。我有一个按钮来批准列表视图中的复选框。一旦我批准listview刷新,但错误是当我尝试从刷新列表视图返回时,页面继续加载并且不显示更新的列表视图。

处理按钮点击的代码。

btnAClaim = (Button) findViewById(R.id.btn_app_claim);
    btnAClaim.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View v) {

            AlertDialog.Builder builder = new AlertDialog.Builder(MyCListActivity.this);
            builder.setTitle("Confirmation");
            builder.setMessage("Are you to approve all the claims?");

            AlertDialog.Builder builder1 = builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {

                    CAdapter adapter = (CListAdapter) lv.getAdapter();
                    for (int i = 0; i < adapter.getCount(); i++) {
                        CList cList = adapter.getItem(i);
                        if (cList.isSelected()) {
                            new pClaim("app_claim", null, clList.cId).execute();

                        }
                    }
                }
            });

            builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
                }
            });

            AlertDialog alert = builder.create();
            alert.show();
        }
    });

XML

 <Button
        android:id="@+id/btn_approve_claim"
        android:text="Approve"
        android:clickable="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        android:visibility="invisible"/>

pClaim是Async Task,点击按钮后我正在调用异步任务。

私有类processClaim扩展了AsyncTask {

    private ProgressDialog pDialog;
    private final String TAG_SUCCESS = "success";
    private final String TAG_MESSAGE = "message";
    private String message = "Unable to connect.";
    private int success = 0;
    private String action, reason, cID;

1 个答案:

答案 0 :(得分:0)

  1. 我会等到processC已执行(在onPostExecute的{​​{1}}内),然后使用AsyncTask刷新我的列表。

  2. 在我致电notifyDataSetChanged后致电queryCList中的onPostExecute

  3. notifyDataSetChanged queryCList's再次致电onPostExecute

  4. 不要创建意图并再次开始相同的活动。