我可以在MainActivity.java中创建它而不创建另一个.java文件吗? 这是我的代码:
lv=(ListView) findViewById(R.id.listView1);
strArr=new ArrayList<String>();
for(int i=0; i<2 ;i++){
strArr.add("Row"+i);
}
Typeface cFont = Typeface.createFromAsset(getAssets(), "cvv.ttf");
lv.setTypeface(cFont);
adapter=new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1,strArr);
lv.setAdapter(adapter);
adapter.notifyDataSetChanged();
答案 0 :(得分:1)
您需要覆盖适配器的getView
方法。在其中,您可以修改每个ListView
项目的字体。
类似的东西:
final Typeface cFont = Typeface.createFromAsset(getAssets(), "cvv.ttf");
adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, strArr) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView textView = (TextView) super.getView(position, convertView, parent);
if(convertView == null) {
textView.setTypeFace(cFont);
}
return textView;
}
};
答案 1 :(得分:1)
如果您在同一页面中覆盖arrayadapter,则可以。这样您就可以访问listview itemtemplate并更改它的字体。
adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, strArr) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView textView = (TextView) super.getView(position, convertView, parent);
if(convertView == null) {
convertView = layoutInflater.inflate( android.R.layout.simple_list_item_1, parent);
convertView.findViewById<TextView>(Resource.Id.text1).setTypeFace(cFont);
}
return view;
}
};