Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中处理意图条件?_Android - Fatal编程技术网

如何在android中处理意图条件?

如何在android中处理意图条件?,android,Android,我正在通过发送一些值从A类发送到B类 intent.putExtraString("tag1",value1); 在B班,我接受这些价值观 String value1=getintent.getString("tag1"); 从B班我将通过intent去C班。然后,当从类C返回到类B时,它为值提供了null指针异常 我的问题是:如何保留此字段值1中的值。因此,当我从C到B类时,value1中的值仍应保留。(也请建议我一些不使用value1的静态字段的解决方案)。首先创建一个带有静态变量的静态

我正在通过发送一些值从A类发送到B类

intent.putExtraString("tag1",value1);
在B班,我接受这些价值观

String value1=getintent.getString("tag1");
从B班我将通过intent去C班。然后,当从类C返回到类B时,它为值提供了null指针异常


我的问题是:如何保留此字段值1中的值。因此,当我从C到B类时,value1中的值仍应保留。(也请建议我一些不使用value1的静态字段的解决方案)。

首先创建一个带有静态变量的静态类,从类a将数据分配给全局变量,然后调用类B而不通过intent传递数据,在类B中从全局变量获取数据并使用它,然后转到类C,当你们回到B类时,你们将从全局变量中得到数据。这是java中的一种设计模式,请执行此操作。您从A->B传递意图,然后在B中接收它。现在从B。您将相同的意图(键、值)对传递给C。因此,当您从C返回时,将不会得到null指针异常。这是最简单的方法。这不是最好的做法


您应该使用
SharedReferences
。如果您不了解有关使用
SharedReferences
的更多信息,请不要犹豫。这很容易理解。

你能比“类”更具体一点吗?我们谈论的是广播接收器还是活动?打包的意图值是在系统组件之间传递原语的一种很好的方法,但是静态的解决方案(在内存中,或者设置文件)对于基础级类总是更好。我知道这不是你想听到的,所以这不是答案。请格式化你的代码。是的,它会给你空指针,因为您再次尝试从意图中获取值,而这是不存在的,所以我从C-->b中获取值也会发布您的代码,这样我们可以更好地查看您可以完成类C而不是调用类b,否则将值存储在首选项中