【问题标题】:Why can not I use the created object? Json为什么我不能使用创建的对象? json
【发布时间】:2015-04-11 14:53:17
【问题描述】:

我想在课堂上使用 jsonObject。所以我创建了一个私有的 jsonObject。我创造了它。但是随着获得 NullPointer。为什么会这样?

我的代码
http://pastebin.com/NKm372LV

我的错误异常
http://pastebin.com/cscAE1Q8

Caused by: java.lang.NullPointerException
        at com.EraNewGames.Elbase.Schedule.onCreate(Schedule.java:32)

【问题讨论】:

  • 在 SO 上包含代码,而不仅仅是在链接中。
  • 把你的代码和错误放在你的问题中。否则有同样问题的人将无法找到可能出现在您帖子中的答案,这违背了 Stack Overflow 的目的。如果您的代码太长,请创建并发布SSCCE
  • Schedule.java:32 上的语句是什么?显然有一些空值引用

标签: java android json


【解决方案1】:

因为您是在另一个线程中创建 JSONObject - 在您尝试使用它之后。您应该阅读更多关于使用threads 的信息。 您可以在其他线程中设置jsonObject 值后输入Log.e("asdadsadasda", jsonObject.toString());

【讨论】:

  • 但是当前类中有一个新线程。他看到了 JsonObject。这是线程 thread=new Thread(new Runnable() { @Override public void run() { try { jsonObject=new JSONObject(str);
  • 您的onCreate 代码与另一个线程并行工作,因此jsonObject.toString() 调用早于jsonObject=new JSONObject(str)
  • @Incover,不是。 JsonCreate(); Log.e("asdadsadasda", jsonObject.toString()); JsonCreate();这是方法
  • @Invocer。如果我创建一个 onCreate jsonObject=new JSONObject();。和 JsonCreate(){ jsonObject.opt(str);那么走吧?
  • NullPointerException 将消失,但它只会在您的日志中显示{}。因此,您的应用不会崩溃。
猜你喜欢
  • 1970-01-01
  • 2019-04-07
  • 2011-02-02
  • 2011-06-28
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多