Common类中的Android getAssets给出了“方法getAsssets()未定义类型Context”错误

时间:2012-04-08 08:32:12

标签: android typeface

我有一个名为CommonCode的类,用于存储我经常需要的所有方法。

其中一种方法是使用自定义布局创建一个toast。我想给TextView提供一个自定义字体,所以我使用TypeFace。 当我试图从我的资产文件夹中获取自定义字体时,它会出错。

我得到的问题“方法getAsssets()未定义类型Context”。

这是我的代码: CommonCode类

public class CommonCode {

public static void showToast(String toastString, Context context, View view) {
    LayoutInflater inflater = LayoutInflater.from(context);
    View layout = inflater.inflate(R.layout.toast_layout, (ViewGroup) view);

    ImageView image = (ImageView) layout.findViewById(R.id.toastImage);
    image.setImageResource(R.drawable.android);

    TextView text = (TextView) layout.findViewById(R.id.toastText);

    Typeface type = Typeface.createFromFile(context.getAsssets(), "fonts/aircruiser.ttf"); 

    text.setTypeface(type);
    text.setText(toastString);

    Toast toast = new Toast(context);
    toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
    toast.setDuration(Toast.LENGTH_SHORT);
    toast.setView(layout);
    toast.show(); 
}

}

谢谢你们!

1 个答案:

答案 0 :(得分:3)

使用getAssets()代替getAsssets(),

Typeface type= Typeface.createFromAsset(context.getAssets(), "fonts/aircruiser.ttf");  
text.setTypeface(type);