如何使用Finish仅杀死subActivity?
我正在从活动A
启动活动C.public classA {
....
Intent launchC = new Intent(classA .this, ClassC.class);
startActivityForResult(launchC , CodeAtoC);
}
public ClassC extends ClassB{
....
this.finish();
}
当我在C类中调用this.finish()时,我不希望完成超类活动ClassB。这可行吗?如果没有,我可以采用更好的设计吗?
感谢。
答案 0 :(得分:0)
startActivityForResult(launchC , CodeAtoC);
这只会启动classC。扩展classB并不意味着在实例化classC对象时创建两个对象 - 它只是意味着您获得了类继承的好处(访问classB的结构和方法)。
更好的实现方法可能是将ClassC和ClassB转换为Fragments,然后从A启动FragmentActivity。您将使用FragmentActivity来显示C,然后让它在B中交换(通过FragmentTransaction)单击一个按钮或其他内容,然后在完成后将结果返回到A.
http://developer.android.com/guide/components/fragments.html