Использование нескольких макетов для списка - PullRequest
0 голосов
/ 04 ноября 2011

Я хотел расширить и ArrayAdapter, чтобы макет первой строки отличался от макета остальных элементов.

Большое спасибо заранее!

Ответы [ 3 ]

1 голос
/ 04 ноября 2011

есть addHeader для listView. Вы можете использовать его для раздувания другого вида для первого элемента в списке.

listview.addHeaderView(customView);

Вы должны надуть свой customView перед добавлением его в заголовок listView.

0 голосов
/ 04 ноября 2011

У вас может быть что-то похожее на это

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

    LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    if(position==0){
View row = inflater.inflate(R.layout.layout, parent, false);
}else{
View row = inflater.inflateR.layout.other_layout, parent, false);
}

 ......
}
0 голосов
/ 04 ноября 2011

достаточно просто переопределить getView() метод arrayadapter написать условие if для позиции 0

if (position==0) {
t = (TextView)convertView.findViewById(R.id.text);
t.setVisibility(false);
// etc.

}

или вы можете добавить заголовок в список listview.addHeaderView(v)

...