重构 - Android字符串提取问题

时间:2011-03-17 13:37:24

标签: android string localization

我几乎所有应用程序都已本地化,只剩下几个异常值。以下是一个例子。如果不创建2个独立的@string变量,我怎么能这样做?

builder.setTitle("Version " + getAppVerName() + " Changes");

getAppVerName()=

public String getAppVerName() {
    String text;
    try {
        text = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
    } catch (NameNotFoundException e) {
        text = "Version Not Found";
    }
    return text;
}

2 个答案:

答案 0 :(得分:3)

您可以在strings.xml中格式化字符串。

<string name="version">Version %1$s Changes</string>

builder.setTitle(getString(R.string.version, getAppVerName()));

答案 1 :(得分:2)

您可以立即返回,但我认为您的代码很好。

try {
        return getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
    } catch (NameNotFoundException e) {
        return "Version Not Found";
    }