我必须使用3种语言创建应用程序, 它很好,并且使用自动加载语言可以解决所有问题。 我使用过这种方法http://snowpard-android.blogspot.co.uk/2013/03/programmatically-change-language-in.html 但它说关于菜单。 这就是我对updateTexts()函数中的菜单所做的。
/*for menus*/
MenuItem gpscrp = menu.findItem(R.id.gpscrp);
gpscrp.setTitle(R.string.m_gcp);
/*for other text on the app */
a_te= getString(R.string.a_te);
但我的问题是当我更改OnCreate function
中的语言时(changeLang("en")
)
我在这一行收到错误updateTexts();
我不知道问题是什么?
但是在加载应用程序后我使用changeLang("en")
时可以找到它。我的意思是当我从按钮等其他功能调用它时。
注意:它可以找到应用程序上的文本,问题是菜单。
答案 0 :(得分:0)
onCreate(...)
之前调用 onCreateOptionsMenu(...)
,因此您的全局变量menu
为空,MenuItem gpscrp = menu.findItem(R.id.gpscrp);
将抛出NullPointerException。
首先检查菜单是否为空,应该足够了。