I have two classes Class1=Manage and Class2=Scan. I want to get the list from manage and check it with a method in Scan. Here is the code.
The result that i get is "no" and with debugging i saw that list is empty but i don't know why.
Manage.class
private ArrayList<String> soy2= new ArrayList<String>();
....
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
//12-1-2019
if (soy.isChecked()) {
soy1="yes";
//checked();
soy2.add("Soy");
soy2.add("Σόγια");
soy2.add("soja");
soy2.add("Soybeans");
soy2.add("soybeans");
soy2.add("en:soybeans");
System.out.println(soy2);
// //textView.setText("Soy");
// textView.setText("Soy");
// System.out.println(soy2);
// System.out.println(checkedAllergens);
//
}
else {
soy1="no";
//soy2.remove("Soy");
soy2.remove("Soy");
soy2.remove("Σόγια");
soy2.remove("soja");
soy2.remove("Soybeans");
soy2.remove("soybeans");
soy2.remove("en:soybeans");
System.out.println(soy2);
}
}
//set value
public void setArrList (ArrayList soy2){
this.soy2=soy2;
}
public ArrayList<String> getList() {
System.out.println(soy2);
return this.soy2;
}
Scan.class
private Manage checkd = new Manage();
...
List<String> fetchedAllergensList = new ArrayList<String>();
.....
//test() method is calling on a click listener
//i get fetchedAllergensList from another click listener
public void test() {
ArrayList<String> list = checkd.getList();
// System.out.println(list);
ElementExist(list,fetchedAllergensList);
}
public boolean ElementExist(ArrayList<String> list1, List<String> list2) {
for (int i= 0; i<list2.size(); i++) {
if (list1.contains(list2.get(i))) {
// element list2[i] exist in list1
testtxt.setText("yes");
return true;
}
}
testtxt.setText("no");
return false;
}