我想将列表视图的字体设置为araliya.ttf。这是我的代码。没有错误,但在listview文本中的字体没有改变(在文本浏览和按钮中改变了)有人可以告诉我这里有什么问题。三江源..在android的listview中设置字体为文字
public class MyCustomAdapter extends ArrayAdapter<Item> {
private ArrayList<Item> itemList;
Typeface tf;
public MyCustomAdapter(Context context, int textViewResourceId,
ArrayList<Item> itemList) {
super(context, textViewResourceId, itemList);
this.itemList = new ArrayList<Item>();
this.itemList.addAll(itemList);
// tf = Typeface.createFromAsset(context.getAssets(), "araliya.ttf");
}
private class ViewHolder {
TextView code;
CheckBox name;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
Log.v("ConvertView", String.valueOf(position));
if (convertView == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(R.layout.symptom_info, null);
sinfont = Typeface.createFromAsset(getAssets(), "araliya.ttf");
holder = new ViewHolder();
holder.code = (TextView) convertView.findViewById(R.id.code);
holder.code.setTypeface(sinfont);
holder.name = (CheckBox) convertView.findViewById(R.id.checkBox1);
holder.name.setTypeface(sinfont);
convertView.setTag(holder);
这里是我的代码的OnCreate()
dataAdapter = new MyCustomAdapter(this,
R.layout.symptom_info, itemList);
ListView listView = (ListView) findViewById(R.id.listView1);
listView.setAdapter(dataAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
Item item = (Item) parent.getItemAtPosition(position);
}
});
更新 - 已解决的问题
TextView t1 = (TextView)findViewById(R.id.textView2);
t1.setTypeface(sinfont);
t1.setText("my,ska m%fNoh f;dard.kak");
这工作完全和改变的TextView文本的字体。
你添加的字体的.ttf文件入资产价值/字体设置字体? –
是的,我补充一点。在所有文本视图和按钮文本甚至微调文本中改变字体。但它在列表视图中没有改变。请帮忙! – user3406362
我已经添加了答案。这是因为你没有设置正确的字体路径。 –