我必须为我的大学实施申请,我需要专家的一些建议:)。我有一个使用PageIndicator
的活动,每个页面都是一个片段。当前显示最多一页。在每个片段中有4个小部件,其中包含通过蓝牙从应用程序读取的值(有一个串行设备通过蓝牙向应用程序发送数据)我认为我的活动必须有一个独立的线程,在循环中与串行设备通信。但是当这个线程读取值时,如何将数据发送到当前片段,特别是指定的小部件?当前窗口小部件必须显示最近读取的数据。换句话说,我需要知道活动线程如何将dato发送到当前片段。
对不起我的英文
答案 0 :(得分:5)
创建片段时,将它们记录在ArrayList中并创建一个扩展Fragment
的自定义片段类static public ArrayList<CustomFragment> fragmentsList = new ArrayList<CustomFragment>();
// create new fragment
// Example:
// CustomFragment myFragment = new FragmentOne();
fragmentsList.add(newlyCreatedFragment);
并在片段内创建一个接收更新的方法,例如
你的片段类:
public class CustomFragment extends Fragment {
public void receiveUpdate(String update) {
// Do something
}
}
然后使用“extends CustomFragment”代替“extends Fragment”
然后从其他班级
CustomFragment theFragment = SomeClass.fragmentsList.get(0); // where 0 is the fragment's index
theFragment.receiveUpdate("the update");