对话框后刷新Listview

时间:2019-08-02 19:16:56

标签: java android listview

我正在尝试创建一个Listview,一旦按下警报对话框中的某个按钮,它就会自动刷新。这是我的代码,当我打开活动时,它会正确加载项目,但是当我单击对话框的否定按钮时,它会成功执行其中的操作,但不会刷新列表。这是代码:

   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        user = loadUser();
        final ArrayAdapter<String> arAd = new ArrayAdapter<String>(this, R.layout.user_list,user);
        setListAdapter(arAd);
        ListView listView = getListView();
        listView.setTextFilterEnabled(true);

        listView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, final View view, final int position, long id) {
                new AlertDialog.Builder(UserList.this)
                        .setTitle("Gestisci test")
                        .setMessage("Scegli un'operazione")
                        .setPositiveButton("Apri test", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                //to handle
                            }
                        })

                        .setNegativeButton("Elimina Test", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                                File dir = new File("..");
                                dir.delete();
                                //Here I should refresh the list
                                arAd.notifyDataSetChanged();
                            }
                        })
                        .setIcon(android.R.drawable.ic_dialog_alert)
                        .show();
            }
        });
    }

1 个答案:

答案 0 :(得分:0)

您应该在删除文件之后或之前从适配器中删除项目,然后调用notifyDataSetChanged(),从文件系统中删除文件并在适配器上调用notifyDataSetChanged()不会刷新列表中的列表。适配器