2011-02-07 4 views
0

목록보기를 사용자 정의 (부풀려서)하고 있습니다. 텍스트와 배경 이미지를 조건으로 사용했습니다. 이제 목록보기를 스크롤 할 때 텍스트보기의 배경이 다른 텍스트보기와 겹치는 문제가 있습니다.부풀린 목록보기의 문제

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

View icontextlayout=convertView; 
    icontextlayout= inflater.inflate(R.layout.layout_complex_list, null); 
    TextView Txt1=(TextView)icontextlayout.findViewById(R.id.txt1); 
if(disp1==true) 
{ 
Txt1.setBackgroundResource(R.drawable.pic) 
} 
    else 
Txt1.setText("Text1 "+strUser);// 

    TextView Txt2=(TextView)icontextlayout.findViewById(R.id.txt2); 
if(disp2==true) 
{ 
Txt2.setBackgroundResource(R.drawable.pic); 
} 
    else Txt2.setText("Text2: "+strIndus); 
return icontextlayout;  

}

당신이 다른 사람의 배경을 중복되지 않는 배경 이미지 그림을 좀 도와 주 시겠어요 : 다음은 샘플 코드입니다. 감사 하라구요

...

답변

1

문제는 당신이 배경이 필요하지 않을 때 당신이 기본 배경을 설정해야한다는 것입니다. 예를 들면 : 당신이 괜찮다면

if(disp1==true){ 
    Txt1.setBackgroundResource(R.drawable.pic); 
    Txt1.setText(""); 
} 
else{ 
    Txt1.setText("Text1 "+strUser);// 
    Txt1.setBackgroundDrawable(null); 
} 

는 또한, 내가 좋아하는

은 당신의 코드에 대해 내 의견을합니다 : 일반적으로 채워되는 목록에 그들은 방법이 아니다

  • 합니다. 이 대답을보십시오 : How to load the Listview "smoothly" in android
  • convertView은 행을 재사용하는 데 사용됩니다. 귀하의 경우에는 당신은 같은 일을하고있다 : 당신이 실제로 convertView (당신이 inflater.inflate를 호출 할 때)가 새 행을 만듭니다를 사용하지 않기 때문에 따라서, 나쁜

View icontextlayout=convertView; 
icontextlayout= inflater.inflate(R.layout.layout_complex_list, null); 

당신의 목록은 정말로 느릴 것입니다.

  • if(disp2==true)은 중복입니다. 방금 : if(disp2)을 사용해야합니다.
+0

효과가있었습니다. 당신이 정말로 내 관심을 이겨내. 고마워 크리스티안. – Pankaj

+0

정말 고마워요. 옵션에 대해서도 고마워요. 코드가 어떤 값의 타입인지 쉽게 이해할 뿐이에요. 어쨌든 당신이 도왔습니다. – Pankaj

관련 문제