支持多语言的Android应用程序

时间:2014-08-03 04:53:09

标签: android menu

我必须使用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")时可以找到它。我的意思是当我从按钮等其他功能调用它时。

注意:它可以找到应用程序上的文本,问题是菜单。

1 个答案:

答案 0 :(得分:0)

onCreate(...)之前调用

onCreateOptionsMenu(...),因此您的全局变量menu为空,MenuItem gpscrp = menu.findItem(R.id.gpscrp);将抛出NullPointerException。

首先检查菜单是否为空,应该足够了。