将 FragmentActivity 引用到外部接口
Reference FragmentActivity to external Interface
我想在 class 的片段中调用一个函数。我如何将 FragmentActivity 附加到外部接口,就像我附加 Activities
目前 Activity,class 包含
public interface externalInterface {
public void gotoNext();
}
public void setActivity(externalInterface activity) {
parentActivity = activity;
}
我打电话给
parentActivity.gotoNext();
Activity 有
@Override
public void gotoNext() {
//Do something
}
同样,我需要在同一个 class 的片段中调用 gotoNext() 函数。
如果您要调用的函数已经在 Activity 中,那么您可以执行类似下面的代码,它将起作用 -
关键是,在 Fragment 中有一个名为 getActivity()
的方法,您可以使用它来访问 activity.
中的方法
public interface ExternalInterface {
public void gotoNext();
}
public MyActivity implments ExternalInterface {
public void gotoNext(){
//Do something here
}
}
在你的片段中,你可以调用
public MyFragment extends Fragment{
@Override
public void onCreateView(....){
((ExternalInterface )getActivity()).gotoNext();
}
}
如果我没记错的话你想在 FragmentActivty
中的片段中使用 gotoNext()
- 确保片段 activity 实现接口。
- 在片段中调用
getActivity()
可以向下转换到您的接口并调用该方法(确保 onActivityCreated()
调用完成)
我想在 class 的片段中调用一个函数。我如何将 FragmentActivity 附加到外部接口,就像我附加 Activities
目前 Activity,class 包含
public interface externalInterface {
public void gotoNext();
}
public void setActivity(externalInterface activity) {
parentActivity = activity;
}
我打电话给
parentActivity.gotoNext();
Activity 有
@Override
public void gotoNext() {
//Do something
}
同样,我需要在同一个 class 的片段中调用 gotoNext() 函数。
如果您要调用的函数已经在 Activity 中,那么您可以执行类似下面的代码,它将起作用 -
关键是,在 Fragment 中有一个名为 getActivity()
的方法,您可以使用它来访问 activity.
public interface ExternalInterface {
public void gotoNext();
}
public MyActivity implments ExternalInterface {
public void gotoNext(){
//Do something here
}
}
在你的片段中,你可以调用
public MyFragment extends Fragment{
@Override
public void onCreateView(....){
((ExternalInterface )getActivity()).gotoNext();
}
}
如果我没记错的话你想在 FragmentActivty
中的片段中使用 gotoNext()- 确保片段 activity 实现接口。
- 在片段中调用
getActivity()
可以向下转换到您的接口并调用该方法(确保onActivityCreated()
调用完成)