Я - прекрасный программист
У меня есть DialogFragment
. DialogFragment
есть interface
:
public class FragmentEditClass extends DialogFragment
{
//. . .
public interface NotifyChanged
{
void updateRemoveClass(int position);
}
}
Я использовал интерфейс на вкладке Fragment:
public class SecondTab extends Fragment implements FragmentEditClass.NotifyChanged
{
//. . .
@Override
public void updateRemoveClass(int position)
{
//. . .
}
}
Я показываю DialogFragment
в адаптере:
FragmentEditClass.newInstance(classId , className , position)
.show(secondTab.getFragmentManager() , "DialogFragmentClass");
Я хочу установить связь между fragmentTab
и interface
в DialogFragment
следующим образом:
public class FragmentEditClass extends DialogFragment
{
private NotifyChanged notifyChanged;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
notifyChanged = (NotifyChanged) getActivity();//This line
}
}
Теперь проблема getActivity()
. этот метод относится к SecondTab, но SecondTab находится в MainActivity, и мне нужно обратиться к MainAcitvity.
MyError:
java.lang.ClassCastException: com.example.user.classmanager.MainActivity cannot be cast to com.example.user.classmanager.FragmentEditClass$NotifyChanged
at com.example.user.classmanager.FragmentEditClass.onCreate(FragmentEditClass.java:91)