2016-02-11 2 views
0

Что такое преимущество использования интерфейса для связи с фрагментом к активности, как описано здесь: http://developer.android.com/training/basics/fragments/communicating.htmlЗачем использовать интерфейс для связи от фрагмента к активности?

Это создает ненужную зависимость, когда мы могли бы создать «) onArticleSelected (» метод в деятельности без INTERFACE и назвал его в фрагменте через getActivity(). OnArticleSelected().

Что делать, если в другой момент времени есть фрагмент, в котором нет статей, зачем создавать эту нелогичную зависимость и добавлять код?

ответ

2

Используя интерфейс на самом деле удаляет зависимость от конкретного класса Activity. Он позволяет Фрагменту работать с any Деятельность, которая реализует интерфейс, а не только одно действие.

+0

Какое отношение имеет интерфейс к чему-либо? Если я хочу использовать фрагмент в другом действии, мне просто нужно его создать и использовать. – Marc

+0

В примере «HeadlinesFragment» на вашей связанной странице ваш фрагмент будет зависеть от конкретной реализации Activity, если вы не используете интерфейс. Таким образом, вы не можете просто «создать экземпляр и использовать его» без интерфейса. – cybersam

+0

Как говорит @cybersam, интерфейс не предназначен для взаимодействия с фрагментом (что довольно просто, вы можете просто использовать конкретный экземпляр в этом случае), но для того, чтобы фрагмент мог говорить с активностью, не зная точно, что такое конкретная деятельность. Другими словами, действия будут полиморфны фрагменту. – Logain