마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

ArrayAdapter 에 들어가는 파라미터관련 질문입니다.

0 추천

 

기본리스트뷰에 아답터를 통해 데이터를 넣어서  출력하는 작업을 하고 있습니다.
 
전 마지막파라미터인 List<T>에 제가 임이로 만든 Tv 클래스를 갖는 mTvList 을 넣었는데 
기본자료형String가 아니어서그런지 오류가 나네요 ㅠㅠ.
 
----------------------코드-------------------
ArrayList<Tv> mTvList = new ArrayList<Tv>();
 
Adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mTvList);
---------------------------------------------------
 
오류내용 
"The constructor ArrayAdapter<String>(ListTest, int, ArrayList<ListTest, mTvList);>) is undefined"
 
위에 <TV>대신에 <String>를 넣으면 잘 됩니다.
 
구글 레펀런스 정의에는 아래와 같이 되어있습니다.
public ArrayAdapter (Context context, int resource, List<T> objects)
 
질문)
ArrayAdapter 함수 파라미터로 ArrayList를 넘길때 반드시 String 자료형의 클래스가 와야 되나요?
 
엔조이AD (2,610 포인트) 님이 2013년 10월 23일 질문

1개의 답변

+1 추천
ArrayList<T> 와 ArrayAdapter<T> 의 T 가 같은 타입이면 됩니다.

위의 코드로 보자면 mTvList 가 ArrayList<Tv> 타입이라면

아답터의 생성은 new ArrayAdapter<Tv>(this, android.R.layout.simple_list_item_1, mTvList)가 되어야겠죠?

자바 제네릭 문법에 대해 검색해보세요.
b22n (22,940 포인트) 님이 2013년 10월 23일 답변
b22n님  닉네임은 평생기억하겠습니다 ㅠㅠ.
너무 감사합니다.현재 보이는 오류수정에 급해 다른데는 눈이 안들어오고 ,제너릭부분을 책으로 충분히 봤다고 생각했는데..겉핥기식으로 봤네요 ㅠㅠ. 급할수록 진짜 기본문법에 충실히해야겠네요.!!
...