Android 调用ArrayAdapter中的AlertDialog后刷新活动

Android 调用ArrayAdapter中的AlertDialog后刷新活动,android,android-arrayadapter,android-alertdialog,Android,Android Arrayadapter,Android Alertdialog,我从显示数据库中数据集列表的活动调用我的特定ArrayAdapter。如果用户点击ArrayAdapter的某个项目,它将打开警报对话框的扩展。如果用户点击此AlertDialog中的按钮,数据库中的一个数据集将被删除,并且AlertDialog为Disclesh()。现在我想刷新阵列适配器的视图 我找到了这样的解决方案 remove(position); notifyDataSetChanged(); 但我该怎么称呼这个呢?如果用户单击特定按钮说“嗨,适配器,请删除列表中的当前项”,我是否可

我从显示数据库中数据集列表的
活动调用我的特定
ArrayAdapter
。如果用户点击
ArrayAdapter
的某个项目,它将打开
警报对话框的扩展。如果用户点击此
AlertDialog
中的按钮,数据库中的一个数据集将被删除,并且
AlertDialog
Disclesh()
。现在我想刷新
阵列适配器的视图

我找到了这样的解决方案

remove(position);
notifyDataSetChanged();
但我该怎么称呼这个呢?如果用户单击特定按钮说“嗨,适配器,请删除列表中的当前项”,我是否可以将布尔值从
AlertDialog
向后传递到
ArrayAdapter

下面是一些代码:

活动:

final ListView list = (ListView) findViewById(R.id.myList);
DBhandler db = new DBhandler (context);
list.setAdapter(new MyAdapter(context, db.getMyItems()))
MyAdapter:

public View getView(int position, View row, ViewGroup parent) {
    if(row != null) {
        row.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                final MyDialog myDialog = new MyDialog(context, currentItem);
                myDialog.show();
            }
        });
    }
}
MyDialog:

protected void onCreate(Bundle savedInstanceState) {
    Button btn_delete = (Button) findViewById(R.id.btn_delete);
    btn_delete.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            DBhandler db = new DBhandler (context);
            db.delete(currentItem);
            Toast.makeText(context, "item is deleted", Toast.LENGTH_SHORT).show();
            dismiss();
        }
    });
}

我也找到了,但我不知道如何将其用于AlertDialog…

在将alert dialog视为一个函数而关闭之前,您可以调用自定义适配器的函数

if(adapter.remove(postion)){
    adapter.refreshdata();
}
函数是这样的

public boolean removedata(int position){
     boolean isremoved = false;
    // loop array data and remove specific item
  //  and return isRemoved value.
    }
public void refreshdata(){
        notifyDataSetChanged();
        }

对不起,我不明白。。。我应该在哪里调用这些方法?我在AlertDialog中没有适配器实例,是吗?