У меня есть фрагмент, где я хочу вызвать метод из FragmentActivity, который содержит этот фрагмент. Я определил метод во FragmentTabs (расширяет FragmentActivity), который устанавливает фрагмент lastTab для определенного события во фрагменте.
По некоторым причинам getActivity (). SomeUserDefinedActivity () не может быть разрешена.
Вот код, объясняющий мою проблему:
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
testButton = (Button)getView().findViewById(R.id.button1);
testButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Log.i("FragmentTest", "Button1 Clicked");
TestFragment2 f2 = new TestFragment2();
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.replace(R.id.realtabcontent, f2);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();
// This is where I want to call FragmentTabs method SetLastFragment, but I cannot access it.
getActivity().SetLastFragment(f2);
}
});
}
Это метод, который я хочу вызвать в FragmentTabs:
public void SetLastFragment(Fragment f)
{
mTabManager.SetLastTabFragment(f);
}