Reputation: 1115
I have a ListView.I want to to set different font to each item of ListView .Who can help me with an examplr? I want something like this http://www.ulduzsoft.com/wp-content/uploads/2012/01/font-preference-android-emulator-150x150.png
Upvotes: 1
Views: 648
Reputation: 1422
Do something like this inside list adapter's getView
public class MyAdapter extends ArrayAdapter<JSONObject> {
Context mContext;
private LayoutInflater inflater;
public MyAdapter(Context context, List<JSONObject> list) {
super(context, 0, list);
this.mContext = context;
inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
final Typeface type1 = Typeface.createFromAsset(getAssets(), "myFancyFont.ttf");
final Typeface type2 = Typeface.createFromAsset(getAssets(), "DroidSans.ttf");
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_feed, parent, false);
holder = new ViewHolder();
holder.textview = (TextView) convertView.findViewById(R.id.label_title);
} else {
holder = (ViewHolder) convertView.getTag();
}
if(position == 0) {
holder.textview.setTypeface(type1);
} else {
holder.textview.setTypeface(type2);
}
holder.textview.setText("item with pos." + position)
return convertView;
}
class ViewHolder {
TextView textivew;
}
}
Also you can define typefaces somewhere else as static final.
Upvotes: 1