2016-12-07 9 views
-1

내 TabView에 아이콘을 추가하고 싶지만 사용자 정의 TabAdapter에서 getResources()을 사용할 수 없어 멈추었습니다. 이미 getAplicationContext().getResources, getActivity.getResources()을 사용하려고했지만 메시지가 계속 표시됩니다 ("cannot resolve method"). 누군가 나를 도울 수 있니?Adapter.java에서 getResources()를 사용하는 방법

package com.glapps.mobile.codifynotes.Adapter; 
    import android.content.Context; 
    import android.graphics.drawable.Drawable; 
    import android.support.v4.app.Fragment; 
    import android.support.v4.app.FragmentManager; 
    import android.support.v4.app.FragmentStatePagerAdapter; 
    import android.text.Spannable; 
    import android.text.SpannableString; 
    import android.text.style.ImageSpan; 
    import com.glapps.mobile.codifynotes.Activity.MainActivity; 
    import com.glapps.mobile.codifynotes.Fragment.CodifyFragment; 
    import com.glapps.mobile.codifynotes.Fragment.Configuracoes.ConfiguracoesFragment; 

    import com.glapps.mobile.codifynotes.Fragment.DecodifyFragment; 
    import com.glapps.mobile.codifynotes.R; 
    public class TabAdapter extends FragmentStatePagerAdapter { 

private String[] tituloAba = {"CODIFICAR", "DECODIFICAR", "CONFIGURAÇÕES"}; 
private int[] imageResId = { 
     R.drawable.ic_action_lock_closed, 
     R.drawable.ic_action_lock_closed, 
     R.drawable.ic_action_settings_white 
}; 
public TabAdapter(FragmentManager fm) { 
    super(fm); 
} 

@Override 
public Fragment getItem(int position) { 
    Fragment fragment = null; 

    switch (position){ 

     case 0: 
      fragment = new CodifyFragment(); 
      break; 
     case 1: 
      fragment = new DecodifyFragment(); 
      break; 
     case 2: 
      fragment = new ConfiguracoesFragment(); 
    } 


    return fragment; 
} 


@Override 
public int getCount() { 
    return tituloAba.length; 
} 

@Override 
public CharSequence getPageTitle(int position) { 
    return tituloAba[position]; 
    Drawable image = getResources().getDrawable(imageResId[position]); 
    image.setBounds(0, 0, image.getIntrinsicWidth(), image.getIntrinsicHeight()); 
    SpannableString sb = new SpannableString(" "); 
    ImageSpan imageSpan = new ImageSpan(image, ImageSpan.ALIGN_BOTTOM); 
    sb.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    return sb; 
} 


    } 

Error image

감사합니다!

답변

0

변수 컨텍스트

private Context context; 
//in the Constructor, pass the context in the parametres 
public TabAdapter(FragmentManager fm, Context context) { 
    super(fm); 
    this.context = context; 
} 

을 만들고 의해 사용할 수 있습니다 : 시도 이런 식으로

context.getResources(). 
+0

정말 작동합니다. 고마워요. ;디 –

0

Drawable image = getActivity().getResources().getDrawable(imageResId[position]); 

또는

Drawable image = getContext().getResources().getDrawable(imageResId[position]);