这是对我上一个问题的跟进: How to Start an Intent from a contained class of an Activity
基本上,我意识到我需要从一个包含的Activity类中调用startActivityForResult
(而不是startActivity
)。上一个问题的答案将Context从Activity类传递给包含的类。但是,单独使用上下文不足以调用StartActivityForResult
。
最好的方法是什么?我是否必须将整个Activity类传递给包含的类中的方法?
答案 0 :(得分:2)
是。将您的Activity作为参数传递给包含的类。
P.S。不要存储对Activity的引用。根据需要传递它。
答案 1 :(得分:1)
那么,看看你的问题,你应该能够做到这一点:
Class TestLauncher
{
public TestLauncher (Context c)
{
Intent i = new Intent(MainActivity.this, YourActivity.class)
MainActivity.this.startActivityForResult(i, 1);
}
}
试一试,看看它是否有效。