如何在切换语句中使用String标记大小写

问题描述 投票:0回答:1

我试图找出如何在此switch语句中将字符串放入大小写标签中,以便它也可以在其他语言中工作。这是我的当前代码。

或者,如果有更好的方法来编写此代码,那么当使用其他语言时,该按钮仍然可以使用

if (profileid.equals(firebaseUser.getUid())) {
        edit_profile.setText(R.string.edit_Profile_Button);
    } else {
        checkFollow();
        saved_photos.setVisibility(View.GONE);
        my_photos.setVisibility(View.GONE);
    }
    edit_profile.setOnClickListener(v -> {
        String btn = edit_profile.getText().toString();
        switch (btn) {
            case "Edit Profile":
                startActivity(new Intent(getContext(), EditProfileActivity.class));
                break;
            case "support":
                FirebaseDatabase.getInstance().getReference().child("Support").child(firebaseUser.getUid())
                        .child("supporting").child(profileid).setValue(true);
                FirebaseDatabase.getInstance().getReference().child("Support").child(profileid)
                        .child("supporters").child(firebaseUser.getUid()).setValue(true);
                addNotifications();
                break;
            case "supporting":
                FirebaseDatabase.getInstance().getReference().child("Support").child(firebaseUser.getUid())
                        .child("supporting").child(profileid).removeValue();
                FirebaseDatabase.getInstance().getReference().child("Support").child(profileid)
                        .child("supporters").child(firebaseUser.getUid()).removeValue();
                break;
        }
    });
java android firebase android-studio switch-statement
1个回答
0
投票

您应该使用.properties文件以针对密钥的不同语言存储标签,即,每种语言的密钥将保持相同,但特定于该语言的值,例如您的属性文件的英语名称为myapps_en.properties,而德语文件的名称为myapps_en.properties。在这两个文件中,键将相同,但值将特定于该语言。

现在,您可以使用case中的键(而不是值)。

您可以检查this以了解如何使用.properties文件进行本地化的示例。

© www.soinside.com 2019 - 2024. All rights reserved.