如何优化listview中膨胀的2个不同视图

时间:2014-04-17 04:48:34

标签: android listview android-listview listviewitem

我有一个由两个不同视图组成的列表视图,我可以给它们充气并完美地使用它们。但现在我想优化listview。

我正在使用

@Override
    public int getViewTypeCount() {
        return TYPE_COUNT;
    }

我已宣布2个不同的视图持有者用于给列表视图充气,并在getView中根据我正在膨胀视图和显示的位置。

现在我总是在不检查convertView对象的情况下创建新的viewholder。但我想重用转换视图。如何在这种情况下进行优化?

像这样的东西,优化listview是有意义的吗?

 if(convertView == null)
                {
                    dividervewholder = new dividerViewholder();
                    convertView = mLayoutInflater.inflate(R.layout.left_slider_divider_item, parent, false);
                    dividervewholder.dividerItemText = (TextView) convertView.findViewById(R.id.ID_Leftslider_Account_divider_text);
                    dividervewholder.dividerItemText.setText("Accounts");
                    dividervewholder.dividerItemview = (View) convertView.findViewById(R.id.ID_Leftslider_Account_divider);
                    convertView.setTag(dividervewholder);
                }
                else
                {
                    try
                    {
                            dividervewholder = (dividerViewholder) convertView.getTag();
                            dividervewholder.dividerItemText.setText("Accounts");
                    }
                    catch(Exception ee)
                    {
                        dividervewholder = new dividerViewholder();
                        convertView = mLayoutInflater.inflate(R.layout.left_slider_divider_item, parent, false);
                        dividervewholder.dividerItemText = (TextView) convertView.findViewById(R.id.ID_Leftslider_Account_divider_text);
                        dividervewholder.dividerItemText.setText("Accounts");
                        dividervewholder.dividerItemview = (View) convertView.findViewById(R.id.ID_Leftslider_Account_divider);
                        convertView.setTag(dividervewholder);
                    }
                }

0 个答案:

没有答案