package com.evancharlton.mileage.adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class DateFormatAdapter extends BaseAdapter {
private static final String[] FORMATS = new String[] {
"YYYY-MM-DD HH:MM:SS",
"YYYY-MM-DD HH:MM",
"YYYY-MM-DD",
"YYYY/MM/DD HH:MM:SS",
"YYYY/MM/DD HH:MM",
"YYYY/MM/DD",
"MM-DD-YYYY HH:MM:SS",
"MM-DD-YYYY HH:MM",
"MM-DD-YYYY",
"MM/DD/YYYY HH:MM:SS",
"MM/DD/YYYY HH:MM",
"MM/DD/YYYY",
"DD-MM-YYYY HH:MM:SS",
"DD-MM-YYYY HH:MM",
"DD-MM-YYYY",
"DD/MM/YYYY HH:MM:SS",
"DD/MM/YYYY HH:MM",
"DD/MM/YYYY"
};
private static final String[] FORMAT_STRINGS = new String[] {
"yyyy-MM-dd HH:mm:ss",
"yyyy-MM-dd HH:mm",
"yyyy-MM-dd",
"yyyy/MM/dd HH:mm:ss",
"yyyy/MM/dd HH:mm",
"yyyy/MM/dd",
"MM-dd-yyyy HH:mm:ss",
"MM-dd-yyyy HH:mm",
"MM-dd-yyyy",
"MM/dd/yyyy HH:mm:ss",
"MM/dd/yyyy HH:mm",
"MM/dd/yyyy",
"dd-MM-yyyy HH:mm:ss",
"dd-MM-yyyy HH:mm",
"dd-MM-yyyy",
"dd/MM/yyyy HH:mm:ss",
"dd/MM/yyyy HH:mm",
"dd/MM/yyyy"
};
private Context mContext;
public DateFormatAdapter(Context context) {
mContext = context;
}
@Override
public int getCount() {
return FORMATS.length;
}
@Override
public Object getItem(int position) {
return FORMAT_STRINGS[position];
}
@Override
public long getItemId(int position) {
return FORMAT_STRINGS[position].hashCode();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getView(android.R.layout.simple_spinner_item, position, convertView, parent);
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
return getView(android.R.layout.simple_spinner_dropdown_item, position, convertView, parent);
}
private View getView(int resource, int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(resource, parent, false);
}
ViewHolder holder = (ViewHolder) convertView.getTag();
if (holder == null) {
holder = new ViewHolder(convertView);
}
holder.text1.setText(FORMATS[position]);
return convertView;
}
private static class ViewHolder {
public final TextView text1;
public ViewHolder(View v) {
text1 = (TextView) v.findViewById(android.R.id.text1);
v.setTag(this);
}
}
}