对话框解散时刷新活动

时间:2012-02-15 06:53:17

标签: android database listview dialog

实际上在我的列表活动中,当用户点击任何项目时,会打开一个对话框,其中包含两个删除和取消选项。当用户选择删除按钮时,对话框将删除数据库中的删除值。旧列表活动进入前景与旧值。虽然它被删除它显示在listview.Is有一种方式来显示刷新列表。如果是,那么如何?

7 个答案:

答案 0 :(得分:2)

在调用适配器的notifyDataSetChanged()以刷新列表之前,您还需要从适配器中删除已删除的项目

答案 1 :(得分:1)

请尝试以下代码,

private final Handler handler = new Handler();

创建一个名为doTheAutoRefresh()的函数:

private void doTheAutoRefresh() {
    handler.postDelayed(new Runnable() {
             doRefreshingStuff(); // this is where you put your refresh code
             doTheAutoRefresh();
         }, 1000);
}

在onCreate中调用此函数。

注意:这是基本方法。考虑在onPause被调用之后停止它并在onResume之后恢复它。查看处理程序类以了解如何删除。

答案 2 :(得分:1)

试试这个, 实现对话框dismiss listener并检查用户是否单击了“delete”按钮,如果是,则执行刷新

        dialog.setOnDismissListener(new OnDismissListener() {

            @Override
            public void onDismiss(DialogInterface dialog) {

            }
        })

再次设置apdater刷新列表视图....

答案 3 :(得分:1)

如果您正在使用数组列表,那么您必须明确知道项目位置并使用该位置,您可以从列表中删除项目。然后调用

     yourlist.remove(position);
     adapter.notifyDataSetChanged();

运行你的程序来观看魔术。

答案 4 :(得分:0)

关闭对话呼叫时

yourAdapter.notifyDataSetChanged()
列表适配器上的

答案 5 :(得分:0)

使用list.clear()清除列表; 并像这样设置适配器 adapter = new Adapter(this); enter code here listView.setAdapter(适配器);

答案 6 :(得分:0)

您可以覆盖活动方法onWindowFocusChanged(boolean hasFocus)并跟踪活动的状态。

通常情况下,如果您的活动上方显示了一些警告对话框,则该活动不会获得onPause()onResume()个事件。但它失去了对所显示的警报对话框的关注,并在它解散时获得它。

如果onWindowFocusChanged()hasFocus,您可以在true内刷新数据。