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

ViewPager in ListView 질문드립니다.

0 추천
public View getView(int position, View convertView, ViewGroup parent) {
		View v = null;
		PagerHolder h = null;
			
		if (convertView == null) {
                         LayoutInflater inflater = LayoutInflater.from(mParentContext);
		         v = inflater.inflate(R.layout.cell, parent, false);

		         h = new PagerHolder();
		         h.pager = (ViewPager) v.findViewById(R.id.pager);

		         v.setTag(h);
		} else {
			v = convertView;
			h = (PagerHolder) v.getTag();
		}
			
                MyPagerAdapter mAdapter = new MyPagerAdapter(mFragmentManager, mParentContext);
		h.pager.setAdapter(mAdapter);
		
		return v;
	}

 

listview의 셀마다 뷰페이져를 넣으려고 합니다.

 

그런데..

 

첫번째 getView에서는 잘 되는데,

 

한번 더 getView를 할 때, 에러가 발생합니다..

 

01-21 22:59:58.790: E/AndroidRuntime(4633): Caused by: java.lang.IllegalArgumentException: No view found for id 0x7f080002 (com.example.cellpagertest:id/pager) for fragment MyFragment{425b7068 #0 id=0x7f080002 android:switcher:2131230722:0}
 
첫번째 셀에는 페이저가 잘 동작 하는데,
 
두번째 셀이 셋팅되려고 getView가 호출될 때 저런 에러가 발생합니다..
 
 
조언 부탁드립니다.
 
감사합니다.

 

apcnic (1,420 포인트) 님이 2013년 5월 10일 질문

1개의 답변

0 추천
ViewPager에 아이디가 중복되면 그런동작을 할수 잇습니다.

setId() 메서드를 이용해서 새로운 아이디를 할당해줘보세요
익명사용자 님이 2014년 2월 28일 답변
...