在创建活动后,有没有办法将变量从活动组转换为当前活动?

时间:2011-04-22 15:07:28

标签: android variables android-activity arraylist activitygroup

我有一个活动组,它开始了2个活动。当用户按下其中一个活动上的按钮时,活动组将填充ArrayList。

我想知道是否有办法让我的两个活动都能访问这个ArrayList。

这就是我现在所拥有的:

public class ExampleGroup extends ActivityGroup {

    public static ExampleGroup group;
    ArrayList<String> strs = new ArrayList<String>();

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        group = this;

        View exampleView = getLocalActivityManager().startActivity(
            "Example",
            new Intent(this, Example.class).addFlags(
                    Intent.FLAG_ACTIVITY_CLEAR_TOP))
            .getDecorView();

        setContentView(exampleView);

    }

    public void populateArrayList(){
    //code to do it
    }

}

public class Example extends Activity {

   @Override
    public void onCreate(Bundle savedInstanceState) {

        ExampleGroup.group.populateArrayList();

        ArrayList<String> strs2 = ExampleGroup.group.strs;

        Log.i("ArrayList contents", strs2);

    }

}

arraylist返回null。有什么我想念的,或者有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

是的,基本上你想要在两个活动之间共享一个模型对象,这与你的程序结构有很大关系。有关如何完成此操作的详细信息,请参阅此帖:

Where should I put global methods and variables in an Android app?