在我的应用中,有很多表,每个表都有不同的布局。
所以我创建了一个ListAdapter,其中我传递了上下文和包含要显示的数据的列表。
然而,由于多个切换案例,课程变得复杂。
普通适配器有if (convertView == null)
,然后我们设置数据和return convertView
。
但是我的ViewHolders
正在成为每个可能的表格getview
-
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null){
// inflate view and link with viewholders...
switch (num){
case 1:
// for table 1
.
.
.
case n:
// for table n
break;
}
}
else {
// set tag for later access
switch (num) {
case 1:
.
.
.
case n:
}
}
// set VALUES
switch (num) {
case 1:
.
.
.
.
case n:
}
return convertView;
}
毋庸置疑,这是混乱的,丑陋的,似乎并不高效。
有没有更好的方法来实现这一目标?