GLA*_*ile 5 android getresource slidingmenu android-studio
我想在TabView上添加图标,但由于无法getResources()在自定义TabAdapter中使用而被卡住。我已经尝试使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
iss*_*sam 11
创建一个变量上下文
private Context context;
//in the Constructor, pass the context in the parametres
public TabAdapter(FragmentManager fm, Context context) {
super(fm);
this.context = context;
}
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式使用它:
context.getResources().
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9029 次 |
| 最近记录: |