Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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
Java 在android中恢复活动时维护变量_Java_Android - Fatal编程技术网

Java 在android中恢复活动时维护变量

Java 在android中恢复活动时维护变量,java,android,Java,Android,我正在开发一个列表应用程序,它根据行ID从数据库中获取信息。在这个页面上还有一个添加事务按钮,单击该按钮可加载一个新活动 如果用户点击顶部导航上的“主页”按钮,但返回“我的变量尚未保存”,则此活动使用NavUtils类返回列表。我是否可以在两个屏幕之间保持此变量的完整性,或者甚至使用NatUtils.navigateUpFromSameTask()将其传回 您可以将变量设置为静态。然后,您可以在需要重置时重置它,例如在onCreate中(如果您需要的话)。您可以使用意图在活动之间传递数据 在您的

我正在开发一个列表应用程序,它根据行ID从数据库中获取信息。在这个页面上还有一个添加事务按钮,单击该按钮可加载一个新活动

如果用户点击顶部导航上的“主页”按钮,但返回“我的变量尚未保存”,则此活动使用NavUtils类返回列表。我是否可以在两个屏幕之间保持此变量的完整性,或者甚至使用NatUtils.navigateUpFromSameTask()将其传回


您可以将变量设置为静态。然后,您可以在需要重置时重置它,例如在onCreate中(如果您需要的话)。

您可以使用意图在活动之间传递数据

在您的第一个活动中:

Intent i= new Intent("com.example.secondActivity");
// Package name and activity
// Intent i= new Intent(MainActivity.this,SecondActivity.Class);
// Explicit intents
i.putExtra("key",mystring);
// Parameter 1 is the key
// Parameter 2 is your value
startActiivty(i);
在第二个活动中检索它:

Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("key");
//get the value based on the key
}
编辑:

如果希望值持久化,请使用共享首选项


刚刚尝试了一下,仍然说“简历上的ID是:0”。可见性重要吗?如果你在类之外访问它不是问题,那么必须是公共的。当活动恢复时,它仍然需要相同的值。这应该可以工作。这就是静态变量的全部要点。而且我也测试过了。因此,您必须在某个位置重置它。这只是一个整数,用于显示用户在打开“添加事务”屏幕之前查看的帐户。这真的是存储数据的唯一方法吗?看起来有点浪费。以下是其他选择
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("key");
//get the value based on the key
}