2017-01-03 93 views
0

我想使自定義字體爲我的TextView之一,但我仍然得到自定義字體在Android的ExpandableListView

cannot resolve method getAssets() 

下面是部分代碼:

@Override 
public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { 
    final String childText = (String)getChild(groupPosition, childPosition); 
    if (convertView == null) { 
     LayoutInflater infalInflater = (LayoutInflater)this._context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     convertView = infalInflater.inflate(R.layout.list_item, parent, false); 
    } 
    Utils.setFontAllView((ViewGroup)convertView); 

    TextView txtListChild = (TextView)convertView.findViewById(R.id.txtcardname); 
    txtListChild.setTypeface(null, Typeface.BOLD); 

    TextView kategoria = (TextView)convertView.findViewById(R.id.kategoria); 
    kategoria.setText(this.KATEGORIE[numerKategori]); 


    custom_font = Typeface.createFromAsset(getAssets(), "fonts/capture.ttf"); 
    txtListChild.setTypeface(custom_font); 

我要打它使用此代碼:

custom_font = Typeface.createFromAsset(getAssets(), "fonts/capture.ttf"); 
     txtListChild.setTypeface(custom_font); 

回答

0

更新你的代碼,這樣它會工作:

custom_font = Typeface.createFromAsset(mContext.getAssets(), "fonts/capture.ttf"); 

如果沒有您的視圖背景,則無法訪問您的資產。所以上下文是強制性

,而不是設置字體getView方法中,你可以在自定義的TextView類定義字體,通過這一點,將需要更少的內存,您的應用程序性能會更好。

0

可以調用與上下文getAssets。使用這個:

custom_font = Typeface.createFromAsset(this._context.getAssets(), "fonts/capture.ttf"); 

祝你好運。

0

當你想用它進入適配器從您的代碼

做如下改變

使用上下文

請確保您的資產文件夾下的字體有capture.ttf的文件

檢查文件捕獲路徑.ttf

Context context = null; 
      Typeface custom_font = Typeface.createFromAsset(context.getAssets(), "fonts/capture.ttf"); 
     txtListChild.setTypeface(custom_font);