当我调用翻译 R.string 时,FragmentPagerAdapter 中出现一个奇怪的数字

A strange number appears to me in FragmentPagerAdapter when I call a translation R.string

我正在尝试将文本翻译放入 FragmentPagerAdapter 所有的尝试和使用 return (R.string.Chats) + "";

我在三个选项卡中出现了一个陌生号码,

照片:https://i.stack.imgur.com/znIB2.png

public class SectionPagerAdapter extends FragmentPagerAdapter {
private Context context;

public SectionPagerAdapter(@NonNull FragmentManager fm) {
    super(fm);
}


@NonNull

@Override
public Fragment getItem(int position) {
    if(position==0){
        ChatsFragment chatsFragment =new ChatsFragment();
        return chatsFragment;
    }
    else if(position==1){
        FriendsFragment firendsFragment =new FriendsFragment();
        return firendsFragment;
    }
    else if(position==2){
        RequestsFragment requestsFragment =new RequestsFragment();
        return requestsFragment;
    }
    else return null;
}

@Override
public int getCount() {
    return 3;
}
public CharSequence getPageTitle(int position){


    if(position==0){

        return  (R.string.Chats) + "";

    }
    else if(position==1){
        return  (R.string.Friends) + "";
    }
    else if(position==2){
        return  (R.string.Requests) + "";
    }
    else return null;
}

}

这里特别的问题是,简而言之,我想通过 R.string 添加文本!

    public CharSequence getPageTitle(int position){


    if(position==0){

        return  (R.string.Chats) + "";

    }
    else if(position==1){
        return  (R.string.Friends) + "";
    }
    else if(position==2){
        return  (R.string.Requests) + "";
    }
    else return null;
}

R.string.Chats - 它不是 String 它是资源标识符(具有整数类型)。如果你想从你应该使用的资源中获取字符串: context.getString(R.string.Chats) 而不是 R.string.Chats。另一个页面标题也是如此。 只需 re-write 你 getPageTitle 方法就可以了

R.string.something return 字符串拥有的字符串资源 ID。您可以将上下文传递给视图的构造函数并初始化适配器 class.

中的 属性 上下文

然后你可以得到这样的字符串:

context.getString(R.string.something)