Android 如何在Fragment中使用接口?
我是一个非常棒的程序员 我有一个Android 如何在Fragment中使用接口?,android,android-fragments,interface,android-dialogfragment,dialogfragment,Android,Android Fragments,Interface,Android Dialogfragment,Dialogfragment,我是一个非常棒的程序员 我有一个对话框片段对话框片段有一个界面: public class FragmentEditClass extends DialogFragment { //. . . public interface NotifyChanged { void updateRemoveClass(int position); } } 我在片段选项卡中使用了界面: public class SecondTab extends Fragm
对话框片段
<代码>对话框片段有一个界面
:
public class FragmentEditClass extends DialogFragment
{
//. . .
public interface NotifyChanged
{
void updateRemoveClass(int position);
}
}
我在片段选项卡中使用了界面:
public class SecondTab extends Fragment implements FragmentEditClass.NotifyChanged
{
//. . .
@Override
public void updateRemoveClass(int position)
{
//. . .
}
}
我在适配器中显示DialogFragment
:
FragmentEditClass.newInstance(classId , className , position)
.show(secondTab.getFragmentManager() , "DialogFragmentClass");
我想在DialogFragment
中的fragmentTab
和interface
之间通过以下方式进行通信:
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中,我需要引用MainacitCity
我的错误:
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)
getActivity()引用父活动。由于父活动未实现接口,因此类强制转换异常正在throwngetActivity()引用父活动。由于父活动未实现接口,因此将引发类强制转换异常