2016-09-23 2 views
0

これで、フラグメントの中にはgetActivity().getClass().getSimpleName()というフラグメントが含まれています。 今、そのアクティビティの中にsampleMethod()というメソッドがあり、これをフラグメントから呼び出すには((MyActivity) getActivity()).sampleMethod();を使用します。これは正常に動作します。フラグメントからそのメソッドを呼び出すときに動的なアクティビティ名を使用します。

私の質問は、文((MyActivity) getActivity()).sampleMethod();の中のアクティビティ名をどのように動的に使用できるかということです。明らかに、私はgetActivity().getClass().getSimpleName()から名前を得ます。 それでは、私が欲しいのは構文的には、上記の間違っている

`((getActivity().getClass().getSimpleName()) getActivity()).sampleMethod(); 

のようなものです。正しい方法は何ですか?このフラグメントを含ん

+0

interface Sample { public void sampleMethod(); } 

を言わせて、インターフェイスを実装する必要がありますアクティビティの名前文字列を返します。 –

+0

「正しい方法は何ですか?」 - ホスト 'Activity'と対話するために' interface'を使います。 https://developer.android.com/training/basics/fragments/communicating.html#DefineInterface –

答えて

1

すべての活動は、私はgetActivity()。のgetClass()。getSimpleName()この意志だと思うのは、自分のフラグメントで、その後

((Sample)getActivity()).sampleMethod(); 
関連する問題