2012-12-01 1 views
0

GridView 활동의 시작은 올바른내 그리드보기 아래로 스크롤의 항목 poition 변화를 최대

http://i.stack.imgur.com/p41lb.jpg

처럼하지만 항목의 위치를 ​​아래로 스크롤 한 후 봐

enter image description here

변경

첫 번째 행의 마지막 항목에 큰 글자가 있습니다. 내 문제라고 생각합니다. 이것은 내 getView() 코드

입니다.
public View getView(int position, View convertView, ViewGroup parent) { 
    View v; 
    if (convertView == null) { 
     LayoutInflater li = getLayoutInflater(); 
     v= li.inflate(R.layout.item, null); 
    } else { 
    v= convertView; 
    } 
    ImageView imageView = (ImageView) v.findViewById(R.id.grid_item_image); 
    imageView.setImageResource(R.drawable.logo); 
    TextView textView = (TextView) v.findViewById(R.id.grid_item_label); 
    textView.setText(PersianReshape.reshape(Values[position].getName())); 
    Typeface face = Typeface.createFromAsset(context.getAssets(),"font/BNazanin.ttf"); 
    textView.setTypeface(face); 
    textView.setTextSize(farin.code.rahnamee.attrib.attribute.content_font_size); 
    return gridView; 
} 

답변

1

그리드 항목의 높이가 모두 균일해야합니다. 균일 한 높이를 유지하기 위해 텍스트의 최소/최대 줄 수를 설정하고 ImageView에도 일관된 크기가 있는지 확인하십시오. 한 가지 방법은 단순히 wrap_content이 아닌 ImageView에 대해 알려진 고정 크기를 사용하는 것입니다.

+0

탱크 나는이 문제를 내가 내 텍스트 뷰를 잘라 shuld 이없는 내 문 제는 내 큰 텍스트 상자에 생각? uniformin 항목이 없으면이 문제를 해결할 방법이 없습니까? –

0

이와 같이 getView 메소드를 변경해야합니다.

public View getView(int position, View convertView, ViewGroup parent){ 
    // TODO Auto-generated method stub 
    View v; 
    if(convertView==null) 
    { 
     LayoutInflater li = getLayoutInflater(); 
     v = li.inflate(R.layout.icontext, null); 
    }else{ 
     v = convertView; 
    } 
    TextView tv = (TextView)v.findViewById(R.id.icon_text); 
    tv.setText(providers[position]); 
    ImageView iv = (ImageView)v.findViewById(R.id.icon_image); 
    iv.setImageResource(R.drawable.icon); 

    return v; 
} 

문제는 convertView를 사용할 때 이전 데이터 형식의 첫 번째 레코드를 저장한다는 것입니다. Convert view는 시간과 메모리 비용으로 인한 리소스의 레이아웃 인플레이션을 피하는 데 사용됩니다. 이전보기를 사용하고 새 데이터를 설정해야합니다. 내가 균일 한 항목이 다른 페이지 하단에서 정렬 된 첫 번째 항목 행의 모든를 스크롤 할 때 응답 에 대한

+0

코드를 업데이트했지만 작동하지 않습니다. 도움이 필요하시면 제게 도움이됩니다. http://stackoverflow.com/questions/32401630/gridview-images-are-changing-postion-when-scrolling –