如何使用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。这可行吗?如果没有,有没有更好的设计可以采用?
谢谢。
发布于 2013-12-02 05:50:27
startActivityForResult(launchC , CodeAtoC);这只会启动classC。扩展classB并不意味着在实例化classC对象时创建两个对象-它只是意味着您获得了类继承的好处(访问类B的结构和方法)。
实现这一点的一种更好的方法可能是将ClassC和ClassB分成片段,然后从A启动一个FragmentActivity。您可以使用FragmentActivity显示C,然后在单击按钮或其他东西时将其交换为B(通过FragmentTransaction),然后在完成时将结果返回给A。
http://developer.android.com/guide/components/fragments.html
https://stackoverflow.com/questions/20317596
复制相似问题