Android:ViewHolder模式和不同类型的行?

时间:2010-01-17 16:02:29

标签: android listview performance reusability listadapter

ViewHolder模式改进了ListView滚动帧率,如下例所示: https://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html

是否可以在为不同的行使用不同类型的视图时保留此模式?

换句话说,是否可以执行以下操作:

 public View getView(int position, View view, ViewGroup parent) {  
     // calculate viewID here
     if (view == null || *view is not null but was created from different XML than viewID* ) { 
         view = mInflater.inflate(viewId, null);  

1 个答案:

答案 0 :(得分:17)

是的,尽管覆盖适配器中的getViewTypeCount()getItemViewType()要好得多。这将告诉Android的对象池只能在getView()中向您提供一行正确的类型。