2

我必须为我的大学实施申请,我需要专家的一些建议:)。我有一个使用的活动PageIndicator,每个页面都是一个片段。当前最多显示一页。在每个片段中,有 4 个小部件包含通过蓝牙从应用程序读取的值(有一个串行设备通过蓝牙向应用程序发送数据)我认为我的活动必须有一个独立的线程,在循环中与串行设备通信. 但是当这个线程读取值时,如何将数据发送到当前的fragment,尤其是指定的widget?当前小部件必须显示最近读取的数据。换句话说,我需要知道活动线程如何将 dato 发送到当前片段。对不起我的英语不好

4

1 回答 1

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
    }
}

然后代替“扩展片段”使用“扩展自定义片段”

然后从其他班级

CustomFragment theFragment = SomeClass.fragmentsList.get(0); // where 0 is the fragment's index
theFragment.receiveUpdate("the update");
于 2012-09-02T18:17:14.527 回答