java - Android 应用程序在 getString() 行崩溃

标签 java android string getstring

这是我的 strings.xml

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

我试图在我的主要 Activity 中调用这个字符串,如下所示:

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

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

这是我的 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)

您不能将该 Activity 用作 Context直到onCreate() 。删除getString()从类初始化调用(如 <init> 所暗示)并将其移至 onCreate() .

关于java - Android 应用程序在 getString() 行崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18956766/

相关文章:

java - Android - 在 XML 中扩展自定义 View 时出错

android - Android 中 Toast 消息的动画

java - 如何解析计算器输入字符串

c++ - 如何在C++中执行for循环直到队列为空

python - 将单引号字符串转换为双引号字符串

java - 如何在电子表格 controlsfx 的 GridBase 的 setCellValue 方法中迭代 List<String> 中的值?

java - 如何使用布隆过滤器的消息摘要获取 int 类型哈希

java - 将字符串拆分为矩阵数组

java - LinkedList 在索引处删除 java

android - flutter 主 channel 问题