Android:为什么在设置界面时,您的活动会转换为您的片段/活动界面?

时间:2015-05-03 15:26:19

标签: android android-activity interface fragment communication

我正在努力将一个整数从一个片段传递到另一个片段。我很确定我理解通过接口将值传递给Activity然后将该值传递给Fragment的概念。

我可以按照此处http://developer.android.com/training/basics/fragments/communicating.html的示例复制代码。例如,我将片段中的接口声明为Interface mCallback;,并在同一片段的onAttach()方法中将此行代码执行mCallback = (Interface) activity;

有人可以解释为什么界面被设置为演员活动以及为什么这样做?

2 个答案:

答案 0 :(得分:1)

  

有人可以解释为什么界面被设置为演员活动以及为什么这样做?

这样做是为了确保给定的活动实现您期望它实现的接口。如果它这样做,一切都很好,你可以继续前进,很可能是因为接口实现而调用你可以预期的方法。如果活动没有实现给定的接口,则抛出异常,因此您的应用程序崩溃或者您可以以某种方式处理此情况 - 尽管如此,在大多数情况下这是一个错误。

答案 1 :(得分:0)

评论说明了一切。它并不是将界面设置为演员表,而是另一种方式。这只是一个检查:如果Activity正在实现接口/监听器,您将能够将其转换为接口。如果它不是,它将失败并抛出异常。 这是因为通过实现接口,可以保证Activity具有接口所具有的所有方法。如果它不能转换为接口,则它尚未实现接口。已转换的Activity是一个' Activity light',它只有接口所具有的方法,同时丢失了Activity的所有其他方法。