Android 如何根据第二个活动中的TextView值增加第一个活动中的变量

Android 如何根据第二个活动中的TextView值增加第一个活动中的变量,android,Android,嗨,我在第一个活动中有一个变量,我需要添加从第二个活动返回的值,并将其存储在这个变量中。活动之间的切换会发生多次。。。。有什么想法吗。。? 下面是一段代码,它每次存储当前值,而不是当前值的总和 double quantity = Double.parseDouble(s1[1]); double amount = Double.parseDouble(s1[2]); if(s1[3].equals("")) { totalint = (quantity*(amount)); L

嗨,我在第一个活动中有一个变量,我需要添加从第二个活动返回的值,并将其存储在这个变量中。活动之间的切换会发生多次。。。。有什么想法吗。。? 下面是一段代码,它每次存储当前值,而不是当前值的总和

double quantity = Double.parseDouble(s1[1]);
double amount = Double.parseDouble(s1[2]);

if(s1[3].equals(""))
{
    totalint = (quantity*(amount));
    Log.d("hitherebbbbbbb",((Double)totalint).toString());
    grandTotal =+totalint; 
}
else
{
    deduction = Double.parseDouble(s1[3]);
    totalint = ((quantity*(amount-deduction*amount/100)));
    Log.d("hitherebbbbbbb",((Double)totalint).toString());
    grandTotal =+totalint; 
}

您可能希望通过返回意图从第二个活动返回值,并在第一个活动中执行startActivityForResult()

您可以通过在第二个活动中创建意图、设置任何相关的返回数据并调用

setResult(Activity.RESULT_OK, returnIntent);
finish();

当第二个活动完成时,将在onActivityResult()方法中回调您。然后,您将从返回意图中提取值并更新本地存储。

您可能希望通过第二个活动的返回意图从第二个活动中返回值,并在第一个活动中执行startActivityForResult()

您可以通过在第二个活动中创建意图、设置任何相关的返回数据并调用

setResult(Activity.RESULT_OK, returnIntent);
finish();

当第二个活动完成时,将在onActivityResult()方法中回调您。然后,您将从返回意图中提取值并更新本地存储。

如果变量量保持不变,您可以始终使用SharedReferences。它们使用起来非常简单,您可以添加一个SharedReference侦听器,以便在值更改时更新您的活动。如果变量的数量发生变化(例如一次有3个整数,但用户可能会更改它,因此需要5个),那么我会做一些更复杂的事情,这可能不是最好的选择,但我喜欢它,因为我发现它比数据库更简单。让我知道哪个场景最能描述您的情况,我会为您提供更多文档。

如果变量数量保持不变,您可以始终使用SharedReferences。它们使用起来非常简单,您可以添加一个SharedReference侦听器,以便在值更改时更新您的活动。如果变量的数量发生变化(例如一次有3个整数,但用户可能会更改它,因此需要5个),那么我会做一些更复杂的事情,这可能不是最好的选择,但我喜欢它,因为我发现它比数据库更简单。让我知道哪种情况最能描述您的情况,我会为您提供更多文档。

我已经做了所有可能的事情。。它正在从中获取值。。。但它并没有添加它们…我唯一要做的就是将这些值存储在共享首选项中,然后添加。。我没有这样做,因为我假设这会使流程变得复杂。您可以将值存储在应用程序对象的某个存储器中。这比您的活动具有更长的生命周期(只要应用程序中的任何活动处于活动状态,它就会一直存在)。如果您需要更长的持久性,您需要查看filesystem/preferences/db。。它正在从中获取值。。。但它并没有添加它们…我唯一要做的就是将这些值存储在共享首选项中,然后添加。。我没有这样做,因为我假设这会使流程变得复杂。您可以将值存储在应用程序对象的某个存储器中。这比您的活动具有更长的生命周期(只要应用程序中的任何活动处于活动状态,它就会一直存在)。如果需要更长的持久性,则需要查看filesystem/preferences/db.Thnx GQGK。。我也有同样的想法。。但是希望在代码中完成而不使用资源…@nagesh-只在代码中完成是危险的。如果用户按下Home键,然后返回到您的应用程序,则系统有可能会在这两个键之间终止进程。在这种情况下,保存在共享变量中的任何数据都将丢失。避免此问题的最佳方法是坚持推荐的方法(startActivityForResult/onActivityResult)或依赖共享首选项等持久性数据方法之一。感谢您建议Ted。。。我对安卓系统不熟悉。。让我跟着他们如果你需要帮助就告诉我。它的实现非常简单,如果您能从中获益匪浅,我有一些示例代码。。我也有同样的想法。。但是希望在代码中完成而不使用资源…@nagesh-只在代码中完成是危险的。如果用户按下Home键,然后返回到您的应用程序,则系统有可能会在这两个键之间终止进程。在这种情况下,保存在共享变量中的任何数据都将丢失。避免此问题的最佳方法是坚持推荐的方法(startActivityForResult/onActivityResult)或依赖共享首选项等持久性数据方法之一。感谢您建议Ted。。。我对安卓系统不熟悉。。让我跟着他们如果你需要帮助就告诉我。它的实现非常简单,如果您能从中获益匪浅,我有一些示例代码。