Java 应用程序重新启动时强制关闭

Java 应用程序重新启动时强制关闭,java,android,android-fragments,Java,Android,Android Fragments,我真的不知道如何开始,但我已经搜索了整个谷歌和stackoverflow 我有这个收音机应用程序,它可以播放radioduh并显示当前播放的歌曲的信息。但我有一个问题: 我有一个ActivityMainActivity和3个FragmentsPayerFragment,其余的都不重要,这些片段都是标签 我在MainActivity上解析JSON数据,并在playerFragment上显示它。我可以直接显示,没有问题。但当我按下后退按钮并再次打开应用程序时,它立即崩溃。当然,我有一个只播放音频的服

我真的不知道如何开始,但我已经搜索了整个谷歌和stackoverflow

我有这个收音机应用程序,它可以播放radioduh并显示当前播放的歌曲的信息。但我有一个问题:

我有一个ActivityMainActivity和3个FragmentsPayerFragment,其余的都不重要,这些片段都是标签

我在MainActivity上解析JSON数据,并在playerFragment上显示它。我可以直接显示,没有问题。但当我按下后退按钮并再次打开应用程序时,它立即崩溃。当然,我有一个只播放音频的服务,我确保当用户返回应用程序时应用程序加载数据。在这种情况下,活动和片段在服务仍在运行时被销毁。我检查了它在开始setText onCreate时在点上声明NullPointerException的日志。在销毁活动和片段之前,我首先使用与加载数据完全相同的代码

我不知道我该如何在这里发布代码,因为我不知道哪里出错了,而且代码很长,请告诉我您希望看到代码的哪一部分来检查错误

开始出现错误的代码:

TextView titleTextView = (TextView) findViewById(R.id.titleTextView);
TextView artistTextView = (TextView) findViewById(R.id.artistTextView);
TextView lyricsTextView = (TextView) findViewById(R.id.lyricsTextView);
ImageView albumImageView = (ImageView) findViewById(R.id.albumImageView);

JSONObject jsonObject = new JSONObject(jsonData);
String title = jsonObject.getString("title");
String artist = jsonObject.getString("artist");
String lyrics = jsonObject.getString("lyrics");
String albumURL = jsonObject.getString("coverUrl");
STARTING HERE: ---> titleTextView.setText(title);
artistTextView.setText("\n" + artist);
lyricsTextView.setText("\n" + lyrics);
这段代码能够在我第一次打开应用程序并对其进行解析时显示数据,在服务运行时,当我返回/启动应用程序时,应用程序将强制关闭

日志:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.brandon.sgpradio/com.brandon.sgpradio.MainActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2395)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2453)
        at android.app.ActivityThread.access$900(ActivityThread.java:173)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5579)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
        at com.brandon.sgpradio.MainActivity.parseJson(MainActivity.java:225)
        at com.brandon.sgpradio.MainActivity.isMyServiceRunning(MainActivity.java:282)
        at com.brandon.sgpradio.MainActivity.onCreate(MainActivity.java:97)
        at android.app.Activity.performCreate(Activity.java:5451)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2359)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2453)
        at android.app.ActivityThread.access$900(ActivityThread.java:173)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5579)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
        at dalvik.system.NativeStart.main(Native Method)
谢谢

更新: 1.通过ViewPager将片段添加到活动时,将其添加到片段中

碎片=新的playerFragment; fragment.setTagplayer_片段

通过getFragmentManger.findFragmentByTag方法获取片段。 播放片段= getFragmentManager.findFragmentByTagplayer_片段; 如果碎片!=无效的 { pFragment.setTextViewText; }


在你得到异常的地方发布代码,并在注释中记录catnot而不是编辑你的问题。当你创建你的片段时,你是否向它传递了任何数据?如果是这样的话,你怎么做?使用构造函数或捆绑包,我们还需要看到一些codecheck,你已经正确初始化了titleTextView,也发布了json响应日志Catupdated代码。。。我已经正确初始化了它,我可以设置文本和显示,直到我再次关闭和打开应用程序。我该如何解决这个问题?有什么代码需要更改吗?你能帮我吗?谢谢您好,正如我上面所说的,将处理片段布局artistTextView和lyricsTextView的代码移动到片段本身的onViewCreated方法。我现在在你的帖子中看不到任何更新的代码。你试过什么新东西吗?我不明白,你能帮我做一下,给我看看吗?给你: