我创建了一个应用程序,它接收用户名和交易的其他详细信息,然后将它们填入数据库。有时,应用程序会通过将相同的详细信息作为两次事务两次填充到数据库中来显示奇怪的行为。即使新值被读取但未存储在静态变量中。
因此,我需要帮助在每个 Activity 结束时刷新所有静态变量的值,以避免在新事务中覆盖以前的值。
编辑:
public class One
{
static String var;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
var="blah";
}
}
public class Two
{
static String variable = One.var;
// This is where i am accessing the value of the variables from previous activities.
//CODE
}
最佳答案
希望这些能帮到你..
在任何 Activity 中使用静态变量就像一场噩梦,因为它在整个 Activity 中存储内存..
我认为您可以尝试一些其他的内存存储来解决将值从一个 Activity 传递到另一个 Activity 的问题..
在我看来,您可以将值存储在 SharedPreference 中,或者您可以通过 Intent 将值传递给其他需要的 Activity ..
希望这些对你有帮助..
编辑:
Intent in = new Intent(MainActivity.this,SecondActivity.class);
您可以使用多个putExtra()
放置多个值的方法,然后可以在第二个 Activity 中获取
in.putStringArrayListExtra(String name, ArrayList<String> value);
StartActivity(in);
在第二个 Activity 中:
Intent in = getIntent();
ArrayList<String> Roleids = new ArrayList<String>;
RoleId = in.getStringArrayListExtra(String name, ArrayList<String> value)
关于android - 如何在 Android Activity 结束时清除所有静态变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17017046/