将字符串与资源中的字符串值进行比较

时间:2018-09-29 12:10:21

标签: java android android-studio

我的应用程序支持多种语言,我需要向数据库输入字符串值。由于稍后会提取数据库条目,因此我需要比较一些用户选择的字符串,无论使用哪种语言将它们输入数据库。

用户选择一个单选按钮,然后我用

检索选择的值
final String userSelection =
            ((RadioButton) findViewById(rb.getCheckedRadioButtonId())).getText().toString();

据我所知,应该以所选语言获得字符串(让我说意大利语和英语,即Gamba或Leg)。在我的数据库中,无论哪种语言,我都需要输入“ leg”。

我试图制作这样的方法:

public String mapLanguage (String part){
    if (part.equals(getString(R.string.leg))) return "leg";
    else if (part.equals(getString(R.string.head))) return "head";
    else if (part.equals(getString(R.string.arm))) return "arm";
    else return "back";
}

此方法是没有与之关联的类的一部分

public class Part extends AppCompatActivity

此方法是从构造方法和设置方法中调用的:

this.part = mapLanguage(part);

我遇到的错误是指MapLanguage方法:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference

1 个答案:

答案 0 :(得分:0)

最终我的错误是在设计中。我将映射移动到源的另一个类,即显示视图的类,这样我就绕过了以前使用的类(没有视图)。回答了我问题的人给了我如何解决问题的见识