gpt4 book ai didi

java - 将实时数据从主 Activity 发送到 fragment

转载 作者:行者123 更新时间:2023-12-01 12:38:02 26 4
gpt4 key购买 nike

我有一个蓝牙耳机,它每次都会向主 Activity 发送消息。在主要 Activity 中,我有一个处理程序,它将处理这些消息并相应地输出。

我有一个将使用这些消息的 fragment 。我找不到将实时数据从 MainActivity 发送到 fragment 的方法,并且我不想将处理程序代码复制/粘贴到 fragment 。

有没有办法将实时数据从 mainActivity 发送到 fragment 。我提供了一些代码以便您更好地理解。

主要 Activity

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_dashboard);
//Bluetooth headset which send live data
tgDevice = new TGDevice(bluetoothAdapter, handler);
tgDevice.connect(false);
}


/**
* Handles messages from TGDevice
* @param menu
* @return
*/
private final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case TGDevice.MSG_STATE_CHANGE:

switch (msg.arg1) {
case TGDevice.STATE_IDLE:
break;
case TGDevice.STATE_CONNECTING:
//androidVersion.setText("Connecting...\n");
break;
case TGDevice.STATE_CONNECTED:
//androidVersion.setText("Connected" + "\t" +wifiInfo.getSSID());
tgDevice.start();
break;
case TGDevice.STATE_NOT_FOUND:
//tv.append("Can't find\n");
break;
case TGDevice.STATE_NOT_PAIRED:
//tv.append("not paired\n");
break;
case TGDevice.STATE_DISCONNECTED:
//tv.append("Disconnected\n");
}

break;
case TGDevice.MSG_POOR_SIGNAL:
poorSignalValue = msg.arg1;
actionBar.setTitle("Signal: " + poorSignalValue);
Log.v("Poor", "Signal: " + poorSignalValue + "\n");
break;
default:
break;
}
}
};

fragment 将利用不良信号以及其他变量。做这个的最好方式是什么?其他 fragment 也将使用 TGDevice。

最佳答案

我会使用类似EventBus的东西。您的 Fragment 将注册一个 Activity ,您的 Activity 将发布更新。

关于java - 将实时数据从主 Activity 发送到 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25388716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com