web-dev-qa-db-ja.com

Adapter.javaでgetResources()を使用する方法

TabViewにアイコンを追加したいのですが、カスタムTabAdapterでgetResources()を使用できないため、行き詰まります。すでにgetAplicationContext().getResources, getActivity.getResources()を使おうとしていますが、まだ"cannot resolve method"というメッセージが表示されています。誰かが私を助けることができますか?

   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;
}


   }

エラー画像

ありがとうございました!

6
GLAPPs Mobile

可変コンテキストを作成する

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().
14
issam

この方法を試してください

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

または

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