Проблема в раздутом списке - PullRequest
0 голосов
/ 07 февраля 2011

Я работаю над настройкой (завышенным) представления списка. В котором я использовал текст и фоновое изображение для текста (согласно условию). Теперь я сталкиваюсь с проблемой прокрутки представления списка, когда фон представления текста накладывается на другие представления текста. Вот пример кода:

@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 Ответ

1 голос
/ 07 февраля 2011

Проблема в том, что вы должны установить фон по умолчанию, когда вам не нужен фон. Например:

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

Кроме того, если вы не возражаете, я хотел бы высказать ваше мнение о вашем коде:

  • Это не тот способ, которым список обычно заполняется. Взгляните на этот ответ: Как загрузить Listview "гладко" в Android
  • convertView используется для повторного использования строк. В вашем случае вы делаете что-то вроде:
<Ч />
View icontextlayout=convertView;
icontextlayout= inflater.inflate(R.layout.layout_complex_list, null);
<Ч />

Что плохо, потому что вы на самом деле не используете convertView (когда вы вызываете inflater.inflate), это создаст новую строку, поэтому ваш список будет очень медленным.

  • if(disp2==true) является избыточным. Вы должны рассмотреть возможность использования только: if(disp2).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...