我用Actionbar和2个标签创建了非常基本的Android应用程序.它运作正常.然后我添加了语言环境资源目录res / values-de,并在其中包含了用德语翻译的字符串strings.xml.我将Nexus7上的语言更改为德语,部署后无法启动应用程序.我在模拟器上遇到了同样的问题.
请问我可以帮助我在移动设备上使用一些非默认语言环境运行此应用程序吗?在我的情况下德国……
报告以下错误.
02-07 15:32:41.314: W/dalvikvm(16682): threadID=1: thread exiting with uncaught exception (group=0x40d82930)02-07 15:32:41.324: E/AndroIDRuntime(16682): FATAL EXCEPTION: main02-07 15:32:41.324: E/AndroIDRuntime(16682): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.tabactionbar/com.example.tabactionbar.MainActivity}: java.lang.NullPointerException02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2180)02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.app.ActivityThread.access0(ActivityThread.java:141)02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.os.Handler.dispatchMessage(Handler.java:99)02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.os.Looper.loop(Looper.java:137)02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.app.ActivityThread.main(ActivityThread.java:5039)02-07 15:32:41.324: E/AndroIDRuntime(16682): at java.lang.reflect.Method.invokeNative(Native Method)02-07 15:32:41.324: E/AndroIDRuntime(16682): at java.lang.reflect.Method.invoke(Method.java:511)02-07 15:32:41.324: E/AndroIDRuntime(16682): at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)02-07 15:32:41.324: E/AndroIDRuntime(16682): at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:560)02-07 15:32:41.324: E/AndroIDRuntime(16682): at dalvik.system.NativeStart.main(Native Method)02-07 15:32:41.324: E/AndroIDRuntime(16682): **Caused by: java.lang.NullPointerException02-07 15:32:41.324: E/AndroIDRuntime(16682): at com.example.tabactionbar.MainActivity.onCreate(MainActivity.java:20)**02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.app.Activity.performCreate(Activity.java:5104)02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)02-07 15:32:41.324: E/AndroIDRuntime(16682): at androID.app.ActivityThread.performlaunchActivity(ActivityThread.java:2144)02-07 15:32:41.324: E/AndroIDRuntime(16682): ... 11 more02-07 15:32:41.334: W/ActivityManager(492): Force finishing activity com.example.tabactionbar/.MainActivity02-07 15:32:41.434: D/dalvikvm(492): GC_FOR_ALLOC freed 546K, 19% free 15994K/19568K, paused 64ms, total 64ms02-07 15:32:41.574: D/libgps(492): proxy_gps_nmea_cb()
没有TabListener的MainActivity代码:
public class MainActivity extends Activity {@OverrIDepublic voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Actionbar actionbar = getActionbar(); actionbar.setNavigationMode(Actionbar.NAVIGATION_MODE_TABS); String label1 = getResources().getString(R.string.label1); Tab tab = actionbar.newTab(); tab.setText(label1); TabListener<Tab1Fragment> tl = new TabListener<Tab1Fragment>(this, label1, Tab1Fragment.class); tab.setTabListener(tl); actionbar.addTab(tab); String label2 = getResources().getString(R.string.label2); tab = actionbar.newTab(); tab.setText(label2); TabListener<Tab2Fragment> tl2 = new TabListener<Tab2Fragment>(this, label2, Tab2Fragment.class); tab.setTabListener(tl2); actionbar.addTab(tab); }
报告的第20行有误
actionbar.setNavigationMode(Actionbar.NAVIGATION_MODE_TABS);
带有德语文本的strings.xml是
<string name="app_name">TabActionbar</string><string name="hello_world">Hello World!</string><string name="menu_settings">Settings</string><string name="Title_activity_main">MainActivity</string><string name="label1">Eins</string><string name="label2">Zwei</string><string name="body1">Erste</string><string name="body2">Zweite</string>
请问我可以帮助我在移动设备上使用一些非默认语言环境运行此应用程序吗?在我的情况下德国……
解决方法:
看看这个讨论:
Action Bar – Menu Button – Missing
在任何可能的情况下,你还在values-de文件夹中有styles.xml文件吗?这可能会导致Actionbar变为NulL的问题.
总结以上是内存溢出为你收集整理的带有非默认语言环境的ActionBar NullPointerException的Android应用程序全部内容,希望文章能够帮你解决带有非默认语言环境的ActionBar NullPointerException的Android应用程序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)