public View getView(int position, View convertView, ViewGroup parent)
{
Header header = getItem(position);
int headerType = getHeaderType(header);
View view = null;
switch (headerType)
{
case HEADER_TYPE_CATEGORY:
view = mInflater.inflate(android.R.layout.preference_category, parent, false);
((TextView) view.findViewById(android.R.id.title)).setText(header.getTitle(getContext().getResources()));
break;
case HEADER_TYPE_SWITCH:
view = mInflater.inflate(R.layout.preference_header_switch_item, parent, false);
((ImageView) view.findViewById(android.R.id.icon)).setImageResource(header.iconRes);
((TextView) view.findViewById(android.R.id.title)).setText(header.getTitle(getContext().getResources()));
((TextView) view.findViewById(android.R.id.summary)).setText(header.getSummary(getContext().getResources()));
if(header.id == R.id.contentdirectory_settings)
mContentDirectoryEnabler = new ContentDirectoryEnabler(getContext(),
(Switch) view.findViewById(R.id.switchWidget));
break;
case HEADER_TYPE_NORMAL:
view = mInflater.inflate(R.layout.preference_header_item, parent, false);
((ImageView) view.findViewById(android.R.id.icon)).setImageResource(header.iconRes);
((TextView) view.findViewById(android.R.id.title)).setText(header.getTitle(getContext().getResources()));
((TextView) view.findViewById(android.R.id.summary)).setText(header.getSummary(getContext().getResources()));
break;
}
return view;
}