1

开始活动的通常方式是

Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);

有没有办法从一个对象开始一个活动?..喜欢

SecondActivity var = new SecondActivity();
var.start();

像这样的东西..?!

4

2 回答 2

3

只需将Context 传递给您的 CustomObject并使用它启动 Activity:

public class CustomObject {

    Context c;
    // and some other fields here...

    public CustomObject(Context c) {
        this.c = c;
    }

    public void startActivity() {

        Intent intent = new Intent(c, SecondActivity.class);
        c.startActivity(intent);
    }

    // and some other methods here...
}

在创建对象的 Activity 内部:

CustomObject obj = new CustomObject(this);
obj.startActivity();
于 2013-08-17T18:25:16.093 回答
0

我想你可能有这个倒退。听起来您应该包含您的偏好数据的对象的引用从一个活动发送到另一个活动。您可以使用setXxxExtra()Intent 类中的方法来执行此操作。

要将数据从第二个 Activity 发送回第一个 Activity,您应该首先使用启动第二个 Activity startActivityForResult(),然后onActivityResult()在主 Activity 中覆盖。Android 开发者页面一个很好的例子来说明如何做到这一点

于 2013-08-17T19:39:30.057 回答