2017-01-23 41 views

回答

0

sergej shafarenka's answer

ActionBarActivity复制(延伸AppCompatActivity类的一种)是一种安全使用的向后兼容类。它的弃用只是提示你直接使用新的AppCompatActivityAppCompatActivity是一个新的更通用的实现,它在内部使用AppCompatDelegate类。

如果你开始一个新的开发,那么你应该马上使用新的AppCompatActivity类。如果您有机会更新您的应用,请将已弃用的ActionBarActivity替换为新的活动。否则,您可以保留弃用的活动,并且行为完全没有区别。

关于AppCompatDelegate,它允许您在活动中添加新的有色小工具,既不是AppCompatActivity也不是ActionBarActivity

例如,你继承外部库,这反过来,不继承AppCompatActivity的活动,但您希望此活动有有色材料部件(视图)。要做到这一点,您需要在您的活动中创建一个AppCompatDelegate的实例,并覆盖该活动的方法,如addContentView(),setContentView()等(请参阅AppCompatDelegate javadoc以获取方法的完整列表),并在这些覆盖的方法内将呼叫转发给内部AppCompatDelegate实例。 AppCompatDelegate将完成剩下的工作,您的“旧时尚”活动将“物化”。

+0

感谢您的回复,如果我理解正确,如果我复制了任何出现的ActionBarActivity并替换为AppCompatActivity,它不会影响我的代码? 或者我什么都不做,只是在创建的新活动中使用AppCompatActivity? –

+0

即使你的第一句话是正确的。其次,您可以将AppCompatActivity用于新活动。 – W4R10CK

+0

好的,谢谢! –