2014-10-04 3 views
0

클래스 메서드에서 반환 된 List가 포함 된 List weirdList가 있습니다. 그러나, 나는 그것을 ListList를 채우기 위해 사용할 수있는 ArrayList funkyArrayList로 변형되기를 원한다.사용자 지정 개체 목록을 ArrayList로 변환

CrazyObject는 methodX.toString이있다, 그래서 나는이 시도 :

if(weirdList.isEmpty) { 
    funkyArrayList.add("nothing there"); 
} 

그러나 앱이 더와 충돌하지 : 나는 문자열 자신을 추가 할 빈 될 경우 weirdList에서

weirdList = CrazyObject.findAll(); // returns List<CrazyObject> 

for(CrazyObject c : weirdList) { 
    funkyArrayList.add(c.methodX.toString); 
} 

을 '이유'. 내가 도대체 ​​뭘 잘못하고있는 겁니까? doInBackground()를 사용하고 있습니다. showstopper가되어서는 안됩니다.

+0

우리에게 완전한 코드를 보여주십시오 ... – Alboz

+0

완전한 코드를 보여줍니다. – Alboz

+1

toString 뒤에 괄호가 없습니까? 그렇게하면 toString 메서드 자체가 추가되고, 호출 한 값은 반환되지 않습니다. – gmcgath

답변

1

만들기 weirdListObject의 목록 : 나중에

weirdList = new ArrayList<Object>(CrazyObject.findAll()); //CrazyObject.findAll() returns ArrayList<CrazyObject> 

과 캐스트와 함께 사용 :

private List<Object> weirdList = ArrayList<Object>(); 

그런 다음 당신은 당신이 원하는 객체의 배열 목록을 초기화 할 수 있습니다

CrazyObject c = (CrazyObject)weirdList.get(index); 

또는 루프 용 :

for(Object o : weirdList) { 
    CrazyObject c = (CrazyObject)o; 
    funkyArrayList.add(c.methodX().toString()); 
} 
+0

나는 일종의 캐스팅을해야한다는 것을 알았다! 감사! – MiningSam