按索引的Java ArrayList remve元素不起作用

时间:2017-08-09 13:59:27

标签: java android arraylist

我在ArrayList.DrawSurface和MyDialog中遇到函数remove()的问题是我的project.myRects中的两个类是DrawSurface中的一个ArrayList,它曾经是一个参数传递给dialog.I想要使用对话框删除myRects.It中的元素运行没有任何错误,但什么也没有删除。 dialog.setRemove(myRects, whichRect); MyDialog:

public void setRemove(ArrayList list, int i) {
mList = list;
which = i;
this.show();
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.pButton:
            mList.remove(which);
            which = -1;
            this.dismiss();
            break;
        case R.id.nButton:
            this.dismiss();
            break;
        default:
            break;
    }
}

我尝试调试它.myRects和mList有相同的地址。我可以删除对话框中的元素。但是当我回到DrawSurface myRects recovery.I不知道为什么。我该怎么办完成它?

1 个答案:

答案 0 :(得分:0)

根据您提供的信息,有两种选择:

  1. 您永远不会触发OnClick()方法,这实际上是调用ArrayList的remove()方法。
  2. 您违反了mList代码中myRectsMyDialog的{​​{1}}引用,并mList = new (...)或其他任务mList public void setRemove(ArrayList list, int i) { mList = list; which = i; this.show(); } 1}}那个正在发生。
  3. 您显示的代码会创建一个表单,可能会在某人执行任何操作之前执行某些代码以触发OnClick()。

    this.show()

    问题中的代码和详细信息不会提供有关myRects与确定library(DT) df <- data.frame(Val = c("A", "B"), url = c("<a href='https://www.google.com'>1</a>", "<a href='https://www.google.com'>2</a>")) datatable(df, escape = FALSE, filter = list(position = "top")) 未删除所需元素之间发生的情况的任何信息。您的问题很可能是上述两个问题之一。