현재 최대 두 가지보기 유형이 포함 된 매우 단순한 ListView에서 작업 중입니다. 순서대로 모든 것을 부드럽게 만들어보기를 재활용하려고합니다.여러보기 유형의 ListView 재활용
@Override
public int getItemViewType (int position){
if(mHasBefore&&position==0){
return TYPE_PAGER;
}else if(mHasNext&&position==getCount()-1){
return TYPE_PAGER;
}else return TYPE_SCORE;
}
@Override
public int getViewTypeCount(){
return 1+((mHasBefore==true||mHasNext==true)?1:0);
}@Override
public View getView(int position, View convertView, ViewGroup parent) {
Log.d("outa","View: pos: "+position+ " . "+getItemViewType(position)+" - "+getViewTypeCount());
if(getItemViewType(position)==TYPE_SCORE)return getScoreView(position,convertView,parent);
else return getPagerView(position,convertView,parent);
}
protected View getPagerView(int position,View convertView,ViewGroup parent){
if (convertView == null){
convertView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.listitem_highscore_pager, null);}}
protected View getScoreView(int position,View convertView,ViewGroup parent){
if (convertView == null){
convertView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.listitem_highscore, null);}}
Basicly 그것이 마지막 항목에서 다른보기를 표시해야하지만 여전히 로그 캣 그것의 getView에서 TYPE_SCORE되지 않은 상태 경우에도 기본 항목()를 보여줍니다 내 코드는 지금이다. 따라서 convertView는 재생 된 뷰를 제공합니다. 내가 잘못했거나 정상적인 행동입니까?
가능한 중복 http://stackoverflow.com/questions/4777272/android-listview ... 여러 유형을 처리하지 않은 -with-different-layout-for-each-row) – IlyaEremin