一周的第一天,我有一个字符串数组持有平日的名字:设置使用数组
private final String[] weekdays = new String[]{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
我已经设置周一默认一周的第一天。
现在,我已经给用户选项来选择,如果他/她想要设置或者周日或周一的一周的第一天:
if (firstDay == 0) {
holder.txtWeekdays.setText(weekdays[position]);
}
使用相同字符串数组我怎么设置星期天作为本周的第一天?
else {
holder.txtWeekdays.setText(weekdays[position]-1); //this returns an error
}
更新的代码:
public class CalendarWeekAdapter extends BaseAdapter{
private final String[] weekdays = new String[]{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
Context mContext;
private LayoutInflater mInflater;
public CalendarWeekAdapter(Context c)
{
mContext=c;
mInflater = LayoutInflater.from(c);
}
public int getCount()
{
return weekdays.length;
}
public Object getItem(int position)
{
return position;
}
public long getItemId(int position)
{
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder=null;
if(convertView==null)
{
convertView = mInflater.inflate(R.layout.calendar_week_gridcell, parent,false);
holder = new ViewHolder();
holder.txtWeekdays=(TextView)convertView.findViewById(R.id.weekdays);
if(position==0)
{
convertView.setTag(holder);
}
}
else
{
holder = (ViewHolder) convertView.getTag();
}
if (firstDay == 0) {
holder.txtWeekdays.setText(weekdays[position]);
}
else {
holder.txtWeekdays.setText(weekdays[position]);
}
return convertView;
}
}
static class ViewHolder
{
TextView txtWeekdays;
}
我知道我可以做到这一点,即创建另一个字符串数组,但只是想知道是否有更有效的方法来设置使用相同字符串的一周的第一天。 – input 2012-08-17 17:58:40
如果是这样的话,我会与@ BharatSinha的答案一起去。它将允许您控制基础指数(0或1)并从那里确定一周的其余时间。请记住,虽然我发布的方法同样有效,因为它仍然只分配一个数组。 – Eric 2012-08-17 18:00:16