1

我创建了一个应用程序,它接收用户名和其他事务的详细信息,然后将它们填充到数据库中。有时,应用程序通过将数据库中的相同详细信息作为两个事务填充两次而表现出奇怪的行为。即使读取了新值但未存储在静态变量中。

因此,我需要帮助在每个活动结束时刷新所有静态变量的值,以避免在新事务中覆盖以前的值。

编辑 :

  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
            }
4

1 回答 1

5

愿这些对你有帮助。。

使用静态变量就像任何活动中的噩梦,因为它在整个活动中存储内存。

我认为您可以尝试其他一些内存存储来克服将值从一个活动传递到另一个活动的问题。

在我看来,您可以将值存储在 SharedPreference 中,或者您可以通过意图将值传递给需要的其他活动。

希望这些对你有帮助。。

编辑:

Intent in = new Intent(MainActivity.this,SecondActivity.class);

您可以使用多种putExtra()方法来放置多个值,然后可以在第二个活动中获取

in.putStringArrayListExtra(String name, ArrayList<String> value);

StartActivity(in);

在第二个活动中:

Intent in = getIntent();

ArrayList<String> Roleids = new ArrayList<String>;

RoleId = in.getStringArrayListExtra(String name, ArrayList<String> value)

于 2013-06-10T05:08:28.537 回答