我正在尝试将数据从活动发送到片段.我不是将数据从片段发送到活动.除了在活动中实例化接口侦听器对象之外,我已经正确设置了所有内容.
public class Activity extends AppCompatActivity { private FragmentInterface fragmentInterfaceListener; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // This line below is actually in a button onClick() fragmentInterfaceListener.sendDataMethod(dataToSend); } public interface FragmentInterface { voID sendDataMethod(SampleData sampleData); } }
然后在片段中,我有:
public static class CustomFragment extends Fragment implements Activity.FragmentInterface { @OverrIDe public voID sendDataMethod(final SampleData sampleData) { } }
当我在按钮onClick()上放置一条日志行时,单击按钮时会出现日志行.不,我不打算将sampleData放在片段包中.是的,我需要通过接口发送数据.那么如何在Activity中正确实例化fragmentInterfaceListener对象呢?我在Activity或CustomFragment中缺少其他任何内容吗?
解决方法:
你在这里缺少的是注册部分.
片段必须向活动监听器注册自己,以便在事件发生时发送数据.为此,在活动中创建一个方法
private voID setonDataListener(FragmentInterface interface){ fragmentInterfaceListener=interface;}
在你的片段的oncreate中设置这样的监听器
((YOUR_ACTIVITY_name)getActivity()).setonDataListener(this);
总结 以上是内存溢出为你收集整理的android – 使用接口侦听器将数据从活动发送到片段全部内容,希望文章能够帮你解决android – 使用接口侦听器将数据从活动发送到片段所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)