Java 如何防止将项添加到ArrayList(Android)
所以我有一个按钮,当我点击时,它会向我的ArrayList添加一个新对象Java 如何防止将项添加到ArrayList(Android),java,android,arraylist,Java,Android,Arraylist,所以我有一个按钮,当我点击时,它会向我的ArrayList添加一个新对象 private List<Object> addObject = new ArrayList<>(); 这是它应该工作的,然后是我的ArrayList并连接到适配器…Yada Yada Yada 在我的代码中的某个时刻,object将是true。如何防止添加到ArrayList,因为它是最后一个 我试着做一个循环 for (int i = 1; i < addObject.size(); i
private List<Object> addObject = new ArrayList<>();
这是它应该工作的,然后是我的ArrayList并连接到适配器…Yada Yada Yada
在我的代码中的某个时刻,object将是true。如何防止添加到ArrayList,因为它是最后一个
我试着做一个循环
for (int i = 1; i < addObject.size(); i++ {
Object newboject = addObject.get(i);
if(newobject.getIsLast)){
//Then i kinda need to stop adding to the list on further clicks.
}
}
for(int i=1;i
我认为问题可能在于我的代码的结构,非常感谢您的帮助……最好是查看您的整个代码以显示正确的位置,但Kevin的flag解决方案可能如下所示:
private boolean isAtEnd = false;
if (object.getIsLast()) {
isAtEnd = true;
}
if (!isAtEnd) {
addobject.add(object);
}
公共类测试环扩展活动
{
布尔值IslastBj=false;
按钮添加;
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.testring);
add=(按钮)findViewById(R.id.btnAdd);
add.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图)
{
如果(!isLastObj)
{
对于(int i=1;i
}您可以从已包含所有项目(以及最后一个)的列表中创建一个固定大小的列表,并将其作为以下内容传递给适配器:
List<Object> finalObjectList = Arrays.asList(addObject);
List finalObjectList=Arrays.asList(addObject);
请注意,将元素添加到此列表将抛出java.lang.UnsupportedOperationException
逻辑(仅适用于有序集合):选中列表中最后一个元素的“isLast”字段
if(addObject.size() > 0 && !addObject.get(addObject.size()).getIsLast()){
Object object = new object;
object.setTitle("stuff");
object.isLast = false;
addObject.add(object);
}
虽然解决方案有点笨拙,但它是一个包含的逻辑,不依赖于外部标志。设置标志变量并在添加前检查该变量?另外,我强烈建议不要给你的类命名
Object
。。这就是我使用的对象。。。但是你能带我穿过设置旗帜吗@KevineSche您正在添加一个对象
,然后检查是否应该添加它?
List<Object> finalObjectList = Arrays.asList(addObject);
if(addObject.size() > 0 && !addObject.get(addObject.size()).getIsLast()){
Object object = new object;
object.setTitle("stuff");
object.isLast = false;
addObject.add(object);
}