【问题标题】:static final CharSequence to R.string.xxx how to do it properly?static final CharSequence 到 R.string.xxx 如何正确执行?
【发布时间】:2019-04-08 08:42:51
【问题描述】:

我想将硬编码的 TITLE 更改为 strings.xml 中的资源

如何正确操作?

    public static final CharSequence TITLE = "Home";
    @Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return HomeFragment.TITLE;

            case 1:
                return HistoryFragment.TITLE;

            case 2:
                return StatisticsFragment.TITLE;
        }
        return super.getPageTitle(position);
    }
}
    public static final CharSequence TITLE = R.string.title_home;

【问题讨论】:

  • R.string.title_home 将返回整数值。在 onCreate() 方法下初始化 TITLE 变量。

标签: java android charsequence


【解决方案1】:

您不需要声明PUBLIC STATIC FINAL String 变量,因为存储在资源文件中的字符串是不可更改的,并且可以在运行时从任何地方访问。

使用以下代码

@Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return context.getResources().getString(R.string.title_home);

            case 1:
                return context.getResources().getString(R.string.title_history);

            case 2:
                return context.getResources().getString(R.string.title_statistics);;
        }
        return super.getPageTitle(position);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多