В основном у меня есть этот код, который должен делать это: каждый раз, когда я вызываю getAddedInvoices, он добавляет новый элемент в список, но моя проблема в том, что я новичок в ArrayList, поэтому я не уверен, как работает, и он продолжает добавлять элементы как друг на друга, а не один за другим, это код:
List<InvoiceData> data = new ArrayList<InvoiceData>();
public List<InvoiceData> getAddedInvoices() {
int f=0;
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
String jsonString = ReadingURL("http://pos.avancari.co.cr/app/buscar.productos.php");
try{
JSONArray jsonItems = new JSONArray(jsonString);
for(int i =0; i<jsonItems.length();i++){
if(jsonItems.getJSONObject(i).getString("itemCode").equals(addedcode)){
InvoiceData row = new InvoiceData();
row.id = addedcant;
row.invoiceNumber = i;
row.productName = jsonItems.getJSONObject(i).getString("itemDesc");
row.productCode = jsonItems.getJSONObject(i).getString("itemCode");
row.precio = jsonItems.getJSONObject(i).getString("itemPrice");
data.add(row);
f++;
}
else{
System.out.println("No entra a condicional con: "+addedcode);
}
}
return data;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
Это была функция, а потом я просто назвал ее так:
Invoices invoices = new Invoices();
List<InvoiceData> data = invoices.getAddedInvoices();
Он добавляет выбранные элементы правильно, но не знаю, почему он просто содержит один элемент и просто заменяет его новым, а не продолжает добавлять их.
Заранее спасибо
* Редактировать: Проблема в том, что в «если», даже если он идет 5 пять раз, не обнаруживает, что это другое добавление, очевидно, потому что я добавил еще один data.add и на этот раз я получил размер: 2 (который у меня не было раньше, он просто сказал 1)