在一个ListView中,显示的布局有多种不同形式,例如某些行只有ImageView,有些行只有TextView,怎样实现呢?

 我来答
双四别阴我
2013-03-26 · TA获得超过2282个赞
知道大有可为答主
回答量:1250
采纳率:57%
帮助的人:1186万
展开全部
自定义一个Adapter继承自BaseAdapter。
在Adapter里面实现方法getItemType,
此方法是根据position来获取此列的类型,你传过来的list对象,可以在此判断需要显示什么类型,返回一个类型值(int)。

在getView里面,你可以调用getItemType方法,传入position,得到此列的显示类型。
然后根据不同的类型加载你需要的不同布局。

明白了吗?不明白就追问吧,实在理解不了我只好贴代码了。
追问
嗯   有实例最好哈。麻烦附上代码哈,谢谢。
追答
@Override public int getItemViewType(int position)
{
if (listAlarmContents.get(position).getAlarmDate() == null || listAlarmContents.get(position).getAlarmDate().equals(""))
{
return REPEAT_ALARM;
}
else
{
return ONCE_ALARM;
}
}

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

// 闹钟类型 switch (type)
{
// 一次性闹钟
case ONCE_ALARM:
//加载一次性闹钟布局
break;
// 重复闹钟 case REPEAT_ALARM:
//加载重复闹钟布局
break;
default:
break;
}

只能贴这么多了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式