java - 我不允许在 switch case [Android] 中传递资源文件中的字符串

标签 java android

我有几个按钮,我有以下相同的点击监听器:

 private View.OnClickListener onclick = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch(v.getId()){
                case R.id.home:
                    break;
                case R.id.contact:
                    break;
                case R.id.terms:
                    break;
                case R.id.touch:
                    show(R.string.about_us); //Error here
                    break;


            }
        }
    };

在每次点击按钮时,我都会显示相同的弹出窗口,只是文本不同。我在 strings.xml 文件中有文本

下面是我的对话函数:

 public void show(String message){
        final Dialog dialog = new Dialog(this);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setContentView(R.layout.terms);

        //dialog.setTitle("Terms & Conditions");
        TextView text = (TextView) dialog.findViewById(R.id.text);
        text.setText(message);
        text.setTypeface(helv_light);
        ImageButton dialogButton = (ImageButton) dialog.findViewById(R.id.button1);
        // dialogButton.setTypeface(helv_light);
        dialogButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

        dialog.show();
    }

万一 R.id.touch: 我的 IDE 提示以下消息:

show(java.lang.string) 不能应用于 (int)。

如果我将 show(R.string.about_us); 替换为 show(""+R.string.about_us); 错误消失了,我该怎么办想念这里吗?

最佳答案

使用 getResources().getStringstrings.xml 获取字符串:

show(v.getContext().getResources().getString(R.string.about_us));

关于java - 我不允许在 switch case [Android] 中传递资源文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28565989/

相关文章:

JAVA - 当新文件到达ftp服务器时如何触发

android - Android 的 TTS XML 中音素属性的正确语法是什么?

android - CSS3 背景位置动画在移动设备上滞后

java - 如何在斐波那契堆中实现减少键以在 O(1) 摊销时间内运行?

Java 程序在第一个递归级别终止,白色初始化一个字符串

java - 更改启用 JTextField 的背景颜色

java - ViewPager fragment 随着时间的推移而被破坏?

Android OpenGL 点云

java - Flutter 中的 Android 许可证

java - 如何在 Spring Boot 应用程序中使用 oracle 驱动程序并使用 docker 进行部署