2017-07-09 21 views
1
からaddReminderを呼び出す方法を

Xamarinプロジェクト PCL アンドロイド IOSXamarin:どのようにアンドロイドでPCLからイベントを発射する、PCL

私はAndroid.MainActivity のメソッドを持っており、PCL

からそれを呼び出したいです
+0

例外 –

+0

使用DependencyServiceとの完全な質問送ってください:https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/dependency-service/ – Jason

答えて

3

ソリューションのデフォルトアーキテクチャは常にUI-> PCLになります。 UIプロジェクトはPCLプロジェクトを参照します。したがって、UIプロジェクト(MainActivity)のコードは、PCLのクラス/メソッドを呼び出す/参照することができます。しかし、PCLはUIプロジェクトのクラス/メソッドにコール/参照を戻すことができません。また、循環参照を避けるためです。

あなたがする予定のものにするために、あなたは、2つのオプションがあります:

オプション1

使用依存関係サービスを。詳細については、HEREのガイドを参照してください。基本的には、インターフェースにUIタイプを登録し、インターフェースを介してPCLコールを登録します。

オプション2

PCLクラスMainActivityがイベントを登録し、呼び出したいメソッドを呼び出します

public event Action SomeEvent; 

イベントを持っています。

[PCL class].SomeEvent += SomeEventHandlerMethod; 

次に、PCLでMainActivityメソッドを呼び出す場合は、そのイベントを呼び出すだけです。

SomeEvent(); 
+0

オプション2は申し訳ありません...ものの – RikudouSennin

0

例外を除いて完全な質問を送ってください。 MessagingCenterを使用して、これがあなたの要件を解決したかもしれません。

+0

私のために働きました私はCode StackOverFlowを無視して追加しなければならなかった –

関連する問題