我想在我的适配器中添加自定义字体添加BaseAdapter的按钮(LetterBtn),但我得到一个错误,getAssets()为"无法解析方法'getAssets()'".
字体在assets/fonts /文件夹中,它在我的其他Activity中工作正常.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Button letterBtn;
if (convertView == null) {
letterBtn = (Button)letterInf.inflate(R.layout.letter, parent, false);
} else {
letterBtn = (Button)convertView;
}
letterBtn.setText(letters[position]);
Typeface font1 = Typeface.createFromAsset(getAssets(),
"fonts/nexalight.otf");
letterBtn.setTypeface(font1);
return letterBtn;
}
Run Code Online (Sandbox Code Playgroud)
我认为你在Adapter课堂上遇到了这个问题.更新您的Adapter课程如下:
....................
................................
public class YourAdapter extends ......
{
.........
..............
Typeface font;
public YourAdapter(Context context, ...........)
{
super(context, ..........);
font = Typeface.createFromAsset(context.getAssets(), "fonts/nexalight.otf");
}
...............
........................
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = letterInf.inflate(R.layout.letter, parent, false);
}
Button letterBtn = (Button ) convertView.findViewById(R.id.YOUR_BUTTON_ID);
letterBtn.setText(letters[position]);
letterBtn.setTypeface(font);
return convertView;
}
...................
.........................
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7650 次 |
| 最近记录: |