android应用程序在getString()行崩溃 [英] android application crashes at the getString() line

查看:126
本文介绍了android应用程序在getString()行崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的strings.xml

this is my strings.xml

 <resources>
 <string name="alert_internet">out</string>
 </resources>

我试图在我的主要活动中调用此字符串,如下所示:

I am trying to call this string in my main activity like below:

 final String net = getString(R.string.alert_internet);

我也检查了我的R.java文件,'alert_internet'的int存在。但出于某种原因,每当我启动应用程序时,它都会崩溃到地面。试图获得一个简单的字符串我做错了什么?

I also checked my R.java file too, the int of 'alert_internet' exists. But for some reason whenever I launch the application it crashes down to the ground. What am I doing wrong trying to get a simple string?

这是我的log.cat

this is my log.cat

   09-23 13:17:33.092: E/AndroidRuntime(21302): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1573)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.os.Handler.dispatchMessage(Handler.java:99)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.os.Looper.loop(Looper.java:130)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.app.ActivityThread.main(ActivityThread.java:3693)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at java.lang.reflect.Method.invokeNative(Native Method)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at java.lang.reflect.Method.invoke(Method.java:507)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at dalvik.system.NativeStart.main(Native Method)
   09-23 13:17:33.092: E/AndroidRuntime(21302): Caused by: java.lang.NullPointerException
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.content.ContextWrapper.getResources(ContextWrapper.java:80)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.content.Context.getString(Context.java:183)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at com.akilli.ticaret.Main.<init>(Main.java:25)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at java.lang.Class.newInstanceImpl(Native Method)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at java.lang.Class.newInstance(Class.java:1409)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at  android.app.Instrumentation.newActivity(Instrumentation.java:1021)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1565)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     ... 11 more
   09-23 13:17:33.102: E/(179): Dumpstate > /data/log/dumpstate_app_error


推荐答案

Caused by: java.lang.NullPointerException
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.content.ContextWrapper.getResources(ContextWrapper.java:80)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at android.content.Context.getString(Context.java:183)
   09-23 13:17:33.092: E/AndroidRuntime(21302):     at com.akilli.ticaret.Main.<init>(Main.java:25)

您不能将活动用作上下文,直到 onCreate()。从类初始化中删除 getString()调用(如< init> 所示)并将其移至 onCreate()

You cannot use the activity as a Context until onCreate(). Remove the getString() call from class initialization (as implied by <init>) and move it to onCreate().

这篇关于android应用程序在getString()行崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆