2016-09-16 5 views
1

Ниже приведен список классов.хранение arraylist от существующего arraylist в android

public class Abc { 

    String pincode, state, name, phNo; 

    public Abc(String pincode, String state, String name, String phNo) { 
     this.pincode = pincode; 
     this.state = state; 
     this.name = name; 
     this.phNo = phNo; 
    } 

    public String getPincode() { 
     return pincode; 
    } 

    public void setPincode(String pincode) { 
     this.pincode = pincode; 
    } 

    public String getState() { 
     return state; 
    } 

    public void setState(String state) { 
     this.state = state; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getPhNo() { 
     return phNo; 
    } 

    public void setPhNo(String phNo) { 
     this.phNo = phNo; 
    } 
} 

Я добавил данные к списку.

List<Abc> abcs = new ArrayList<>(); 
    List<Abc> customList = new ArrayList<>(); 
    abcs.add(new Abc("600025", "Delhi", "gambhir", "565632552")); 
    abcs.add(new Abc("600026", "Punjab", "yuvi", "565632553")); 
    abcs.add(new Abc("600027", "Punjab", "bhajji", "565632554")); 
    abcs.add(new Abc("600028", "Delhi", "kohli", "565632555")); 
    abcs.add(new Abc("600029", "Karnataka", "dravid", "565632556")); 
    abcs.add(new Abc("600030", "Delhi", "rohit", "565632557")); 
    abcs.add(new Abc("600031", "Kerla", "sreeshanth", "565632558")); 

Мне нужен отдельный список, который живет в Дели, как достичь этой логики. Я попытался как этот

for (int i = 0; i < abcs.size(); i++) { 
     if(abcs.get(i).getName().equals("Delhi")){ 
      customList.addAll(i,abcs); 
     } 
    } 

Но в моем customList не добавляют никаких данных. Может кто-нибудь мне помочь.

+0

попытка сдачи объекта класса Abc в вашем customList. ** customList.add (abcs.get (i)); ** –

+0

wait .. Я проверю .. – Balaji

+0

Это условие 'if (abcs.get (i) .getName(). Equals (" Дели ")) {'должно быть' if (abcs.get (i) .getState(). equals ("Дели")) {' – Piyush

ответ

2

Это условие

if(abcs.get(i).getName().equals("Delhi")){ 

должен быть

if(abcs.get(i).getState().equals("Delhi")){ 

потому you'r хранения состояния имя в качестве второго параметра и в "name" переменной не существует значение для "Delhi"

+0

большое вам спасибо. – Balaji

2

снова изменить код

for (int i = 0; i < abcs.size(); i++) { 
     if (abcs.get(i).getState().equals("Delhi")) { 
      customList.add(abcs.get(i)); 
     } 
    } 
1

Я думаю, вы можете создать пользовательскую модель для хранения информации только о пользователях delhi.

public class CustomList{ 
private ArrayList<Abc> abc; 
public CustomList(ArrayList<Abc> abc){ 
this.abc = abc; 
} 
public void setAbc(ArrayList<Abc> abc){ 
this.abc = abc; 
} 

public ArrayList<Abc> getAbc(){ 
return abc; 
} 
} 

Теперь вы можете добавить свой код и проверить для пользователей Дели:

ArrayLis<CustomList> customList = new ArrayList<CustomList>(); 
for (int i = 0; i < abcs.size(); i++) { 
     if(abcs.get(i).getState().equals("Delhi")){ 
      customList.add(new CustomList(abcs)); 
     } 
    } 

получить по: customList.get(position).getAbc();

Смежные вопросы