row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/rowLinearLayoutItem"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="50dp"
android:layout_marginLeft="50dp"
android:baselineAligned="true" >
<Button
android:id="@+id/rowButtonRemove"
android:text="-"
android:layout_width="35dp"
android:layout_height="35dp"
android:background="@drawable/circle_button"/>
<TextView
android:id="@+id/rowItemCost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:inputType="numberDecimal"
android:ems="10"
android:layout_weight="1" />
<TextView
android:id="@+id/rowItemTotal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:inputType="numberDecimal"
android:ems="10"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
fragment.java
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.advButtonAddItem:
String itemAddString = editBoxItemAdd.getText().toString();
if (itemAddString.isEmpty()){
Toast.makeText(getActivity(), "Please Enter Item Cost", Toast.LENGTH_LONG).show();
}
else {
LayoutInflater layoutInflater = (LayoutInflater) getActivity().getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View addView = layoutInflater.inflate(R.layout.row, null);
final TextView rowItemTotal = (TextView) addView.findViewById(R.id.rowItemTotal);
Button rowButtonRemove = (Button) addView.findViewById(R.id.rowButtonRemove);
rowItemTotal.setText(editBoxItemAdd.getText().toString());
itemList.add(rowItemTotal.getText().toString());
updateCost();
rowButtonRemove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((LinearLayout)addView.getParent()).removeView(addView);
itemList.remove(rowItemTotal.getText().toString()); //Remove inputted Item Cost into ArrayList itemList
updateCost();
}
});
row.addView(addView);
}
break;
}
}
((LinearLayout)addView.getParent()).removeView(addView);
它将始终删除以前添加的项目
因为addview是您使用的lastitem
因此将其更改为
((LinearLayout)addView.getParent()).removeView(v);
问题内容: 我有一个字符串数组列表,并在其中添加了一些重复值。我只想删除那个重复的值,那么如何删除它。 在这个例子中我有一个主意。 但是有没有足够的方法来删除该重复表格列表。没有使用For循环?我可以通过使用HashSet或其他方式来做到这一点,但只能使用数组列表。想对此提出您的建议。谢谢您的提前答复。 问题答案: 您可以从列表中创建一个。在将包含每个元素只有一次,在相同的顺序。然后从创建一个新的
我有一个hashmap,它包含一个arraylist作为值。我想检查其中一个ArrayList是否包含一个对象,然后从ArrayList中移除该对象。但是,怎么做? 我尝试过使用一些for循环,但是我得到了一个ConcurrentModificationException,并且我无法消除该异常。 我已经试过了:
问题内容: 谢谢Marko。我重写代码。尝试使其简单。这次它可以真正编译。但它只能删除彼此相邻的重复项。例如,如果我输入1 2 3 3 4 4 5 1,则输出为1 2 3 4 5 1。最后它无法拾取重复项。(顺便说一句:本网站的新内容,如果使任何显示混乱我的歉意) 这是新的代码: 问题答案: 要回答“删除java arraylist中的重复项”问题: 只需将所有元素放到中,就可以完成。 -要么-
问题内容: 如何从ArrayList中删除重复的元素? 问题答案: 如果你不想在中添加重复项,则应考虑为什么要使用允许重复项的。删除重复元素的最简单方法是将内容添加到中(不允许重复),然后将其添加Set回中ArrayList: 当然,这会破坏中的元素顺序。
问题内容: 这个问题已经在这里有了答案 : 是什么导致java.lang.ArrayIndexOutOfBoundsException,如何防止它发生? (25个答案) 4年前关闭。 所以我有另一个带有main方法的类,在该类中我调用createNumbers(),createColours(),createBalls()。当我运行程序时,我在numere.remove(nr)处得到一个Index
我有一个arraylist,它包含一对整数(例如int i,int j)。但它可能包含重复对(如(int i,int j)和(int j,int i))。现在如何在O(n)时间复杂度中去除重复。