Java 意味着从中检索数据的活动自崩溃

Java 意味着从中检索数据的活动自崩溃,java,android,Java,Android,单击一个按钮,相同的活动再次启动,但具有新字符串,这意味着我正在刷新相同的活动,但具有字符串(str)的新值,问题是该活动是应用程序启动时的主要活动,它会崩溃,因为检索代码: String str = getIntent().getExtras().getString("catagory").toString(); 可能是因为默认情况下还没有意图,如何解决这个问题?以及如何在不导致应用程序崩溃的情况下实现这一点。实际上,没有意图,因此您很可能正在访问空指针。Android允许您使用。。。也许这

单击一个按钮,相同的活动再次启动,但具有新字符串,这意味着我正在刷新相同的活动,但具有字符串(str)的新值,问题是该活动是应用程序启动时的主要活动,它会崩溃,因为检索代码:

String str = getIntent().getExtras().getString("catagory").toString();

可能是因为默认情况下还没有意图,如何解决这个问题?以及如何在不导致应用程序崩溃的情况下实现这一点。

实际上,没有意图,因此您很可能正在访问空指针。Android允许您使用。。。也许这就是您所寻找的:您可以在设备上存储数据,并且在应用程序启动时,您可以读取数据。

当您第一次运行此应用程序时,str会获得空值,因为没有传递意图

因此,试试这个代码

if(getIntent().getExtras() != null)
{
        // do your work
}
else
{
// do your work
}

第一次,它将进入else,而稍后,如果我们需要更多的上下文,它将调用。我无法理解您的问题。。!!post logcat错误和更多代码