I want to create weekly calendar view and inside each grid item (each day) there are may be several activities.Out of this I have created weekly calendar view using grid view but I want to add activities if there are any for particular date by dynamically checking db. Like same as in image.
Below is my getView() code..
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
row = inflater.inflate(R.layout.calendar_week_gridcell, parent, false);
}
txtRowTitle = (TextView) row.findViewById(R.id.txtDayTitle);
LinearLayout root = (LinearLayout) row.findViewById(R.id.linear_root);
String dayTitle = list.get(position);
txtRowTitle.setText(dayTitle);
if (position == currentWeekDay - 1)
root.setBackgroundResource(R.drawable.calheader);
if (!activityMap.isEmpty() && activityMap.containsKey(activityDateList.get(position))) {
TextView item = new TextView(mContext);
item.setText(activityMap.get(activityDateList.get(position)));
item.setBackgroundColor(Color.GREEN);
root.addView(item);
}
return row;
}
}
在这里,我暂时尝试动态添加文本视图,但我想在这里膨胀我的自定义 Activity_item 布局并将其添加到网格单元格。
您的意思是您希望在现在被“繁忙”空间占用的区域中添加多行吗?您希望它占用所需的空间,还是应该可以滚动?
不管怎样,看来你的方向是正确的。您使用 LinearLayout 来容纳“繁忙”区域,对吗?所以只需使用 for 循环并放入您想要显示的数据即可。
当然,因为 gridView 回收项目,所以每次到达 getView 时都需要清空 LinearLayout,但它应该仍然有效。
如果你想在for循环中使用layoutInflater,那也是可以的:
subRow = inflater.inflate(R.layout.sub_row, linearLayout, true);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)