我有列表的部分,但這個ListView是非常緩慢的。Android SecionList和Holder
我需要任何持有人,但我不知道我該如何做到。
當我有一種類型的視圖很簡單,但在這裏我有問題。
創建持有人,但是當ListView控件顯示時,我看到:
「影片名稱」, 「標題」, 「標題」, 「項」, 「項」
「影片名稱」,「稱號」, 「標題」, 「項」
「影片名稱」, 「標題」, 「標題」, 「項」, 「項」, 「項」
這是我的代碼:
public class EntryAdapter extends ArrayAdapter<Item> {
private ArrayList<Item> items;
private LayoutInflater vi;
Context context;
private String nazwa;
public EntryAdapter(Context context,ArrayList<Item> items, String nazwa) {
super(context,0, items);
this.items = items;
this.context = context;
this.nazwa = nazwa;
vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
我的看法:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Item i = items.get(position);
if (i != null) {
if(i.isSection()){
SectionItem si = (SectionItem)i;
convertView = vi.inflate(R.layout.list_item_section, null);
convertView.setOnClickListener(null);
convertView.setOnLongClickListener(null);
convertView.setLongClickable(false);
final TextView sectionView = (TextView) convertView.findViewById(R.id.list_item_section_text);
}else{
Obiekt ei = (Obiekt)i;
convertView = vi.inflate(R.layout.row_list, null);
final TextView title = (TextView)convertView.findViewById(R.id.row_tytul);
final TextView odleglosc = (TextView)convertView.findViewById(R.id.row_odleglosc);
final ImageView obrazek = (ImageView)convertView.findViewById(R.id.row_ikona_mala);
final LinearLayout pole = (LinearLayout)convertView.findViewById(R.id.LinearLayout1);
}
}
return convertView;
}
我有錯誤的位置: java.lang.ClassCastException:EntryAdapter $ SectionViewHolder不能EntryAdapter $ ItemViewHolder com.edytor.ruciane.lista.EntryAdapter.getView(EntryAdapter.java:90) – Unmerciful 2013-03-20 22:48:52
也可以看看這個帖子:HTTP :/ /stackoverflow.com/questions/4777272/android-listview-with-different-layout-for-each-row – Entreco 2013-03-21 18:51:42
我modiefied答案。我測試了它,並確認它可以工作。您還需要定義您擁有的不同視圖的數量,請參閱修改的代碼示例。更多問題?不要猶豫,問我。祝你好運 – Entreco 2013-03-21 19:26:43