我的应用程序支持多种语言,我需要向数据库输入字符串值。由于稍后会提取数据库条目,因此我需要比较一些用户选择的字符串,无论使用哪种语言将它们输入数据库。
用户选择一个单选按钮,然后我用
检索选择的值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
答案 0 :(得分:0)
最终我的错误是在设计中。我将映射移动到源的另一个类,即显示视图的类,这样我就绕过了以前使用的类(没有视图)。回答了我问题的人给了我如何解决问题的见识