要将收到的蓝牙数据从一个主活动发送到两个片段,可以通过以下步骤实现:
下面是一个示例代码:
在主活动中:
public class MainActivity extends AppCompatActivity implements BluetoothDataListener {
private Fragment1 fragment1;
private Fragment2 fragment2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化片段
fragment1 = new Fragment1();
fragment2 = new Fragment2();
// 将片段添加到布局中
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, fragment1)
.add(R.id.fragment_container, fragment2)
.commit();
}
@Override
public void onDataReceived(String data) {
// 将数据传递给两个片段
fragment1.updateData(data);
fragment2.updateData(data);
}
}
在片段中:
public class Fragment1 extends Fragment {
private TextView textView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
textView = view.findViewById(R.id.text_view);
return view;
}
public void updateData(String data) {
// 更新显示的内容
textView.setText(data);
}
}
public class Fragment2 extends Fragment {
private TextView textView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_layout, container, false);
textView = view.findViewById(R.id.text_view);
return view;
}
public void updateData(String data) {
// 更新显示的内容
textView.setText(data);
}
}
在上述示例中,主活动实现了一个名为BluetoothDataListener的接口,该接口定义了一个onDataReceived方法用于接收蓝牙数据。在主活动中,当接收到蓝牙数据时,调用该方法将数据传递给两个片段。片段中的updateData方法用于更新显示的内容。
这样,当收到蓝牙数据时,两个片段的显示内容都会被更新。你可以根据实际需求,修改片段的布局和更新逻辑。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云