フラグメント内にいる場合、親のアクティビティを呼び出すにはどうすればよいですか?
はい、getActivityを呼び出して、そのメソッドまたは変数にアクセスする親アクティビティでキャストする権利((ParentActivityName)getActivity())
これを試してください。
ParentActivityName
は親クラス名です
最も適切な方法は、Activity
にInterface
を実装させ、リスナーを使用することです。そうすれば、Fragment
は特定のActivity
に結び付けられず、再利用可能になります。 Fragment
に:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
// This makes sure that the container activity has implemented
// the callback interface. If not, it throws an exception
try {
mCallback = (OnHeadlineSelectedListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnHeadlineSelectedListener");
}
}
そのようにして、Activity
にフラグメントがアタッチされるときにフラグメントをリッスンさせます。
以下も参照してください:
GetActivity()メソッドを使用して親アクティビティを呼び出すだけです。
CardView cardView = (CardView) getActivity().findView(R.id.your_view);