首页 > 解决方案 > Android 默认字符串资源:为什么 android.R.string.yes 越来越好

问题描述

我正在尝试从 Android 的字符串资源中显示默认字符串。

我的代码片段:

    new AlertDialog.Builder(CartProductListActivity.this)
            .setTitle("Are you sure?")
            .setMessage("Are you sure you want to delete this item from cart?")
            .setPositiveButton(getString(android.R.string.yes), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            })
            .setNegativeButton(getString(android.R.string.no), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            }).show();

在上面的代码中,我使用了android.R.string.yesandandroid.R.string.no分别返回OKCancel

CTRL我通过+点击显示默认的string.xml文件,yes它有一个相同的字符串(foryesok),如下所示:

<!-- Preference framework strings. -->
<string name="ok">OK</string>
<!-- Preference framework strings. -->
<string name="cancel">Cancel</string>
<!-- Preference framework strings. -->
<string name="yes">OK</string>
<!-- Preference framework strings. -->
<string name="no">Cancel</string>

为什么有两个同名的资源。用户感到困惑yes?它是Android默认资源的错误吗?

为什么android.R.string.yes没有 value as Yes

为什么android.R.string.no没有价值 as No

注意:我看到有android.R.string.yes => YES但为什么它现在改变了?

标签: androidstringandroid-resources

解决方案


推荐阅读