0

I've read how to add font in Android, but how to do this in class that is not Activity. I've put this font: lokikola.ttf in src/main/assets/fonts.

Here is my code:

MyAdapter.java:

import android.content.Context;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import at.technikum.mti.fancycoverflow.FancyCoverFlow;
import at.technikum.mti.fancycoverflow.FancyCoverFlowAdapter;

public class MyAdapter extends FancyCoverFlowAdapter{

    private int[] images = {R.drawable.rain, R.drawable.forest, R.drawable.wave, R.drawable.leaf};
    private String[] nameImage = {"Rain", "Forest", "Wave", "Jungle"};
    private Context mContext;
    Typeface type;


    public MyAdapter(Context mContext){
        this.mContext=mContext;
    }
    @Override
    public int getCount() {
        return images.length;
    }
    @Override
    public Integer getItem(int i) {
        return images[i];
    }
    @Override
    public long getItemId(int i) {
        return i;
    }


    @Override
    public View getCoverFlowItem(int i, View reuseableView, ViewGroup viewGroup) {

        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        reuseableView = inflater.inflate(R.layout.custom_layout, viewGroup, false);

        RelativeLayout rlMain =(RelativeLayout) reuseableView.findViewById(R.id.rlMain);
        rlMain.setLayoutParams(new FancyCoverFlow.LayoutParams(600,600));
        TextView txtName = (TextView) reuseableView.findViewById(R.id.txtNameimage);
        ImageView ivImage = (ImageView) reuseableView.findViewById(R.id.imageView);
        type = Typeface.createFromAsset(mContext.getAssets(), "fonts/lokikola.ttf");
        txtName.setTypeface(type);

        txtName.setText(nameImage[i]);
        ivImage.setImageResource(images[i]);
        return reuseableView;
    }
}

When I run the program, it shows error at this line: type = Typeface.createFromAsset(mContext.getAssets(), "fonts/lokikola.ttf");

So, how to fix it?

Twitter khuong291
  • 11,328
  • 15
  • 80
  • 116

0 Answers0