Fragment の場合
getActivity()
で Activity への参照を取得し getLocalClassName()
メソッドでクラス名(文字列)を取得します。
Activity activity = getActivity();
if (activity != null) {
Log.i("foo", activity.getLocalClassName());
}
あとはクラス名(文字列)を利用して if
や switch
文で条件分岐すれば。
View の場合
<Viewのインスタンス>.getContext()
で Activity への参照が取得できるので、あとは上記と同じです。
Activity activity = (Activity) mFooViewInstance.getContext();
if (activity != null) {
Log.i("foo", activity.getLocalClassName());
}
ほか
switch
文でうまく扱えないですが、それでもいいなら instanceof
で判定してもよいかと思います。文字列でないのでクラス名の変更に強い。
if (activity instanceof FooActivity) {
//...
}