私はそれが究極のものだとは思わないが良い解決策を見つけたが、それはBradキャスト受信機よりも速く動作する。
受信したデータを送信する方法でメインアクティビティにインターフェースを作成しました。私は主な活動からの応答を必要とするフラグメントクラスで
public class MainActivity extends AppCompatActivity{
SendData sendData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public interface SendData {
public void sendData(String data);
}
}
、私は主な活動の上のインタフェースを実装しました。
public class Storage extends Fragment implements MainActivity.SendData{
View view;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
view = inflater.inflate(R.layout.driver_info_fragment,container,false);
return view;
}
@Override
public void SendData(String data) {
String dataReceived = data;
}
}
私が主な活動でデータを受信したとき、私は現在のフラグメントを得るだろう、私は、データがそのフラグメントに送信されるようにしたいならば、私はそのフラグメントに主な活動のインターフェイスを実装して鋳造を作成している必要がありますメインクラスIは、データを持っていると
public class MainActivity extends AppCompatActivity{
@Override
public void notifySocketMessage(final String message) {
if(message != null){
dataPasser = // define the fragment class name where you need to send the data.
dataPasser.onDataPass(message); // add the message to the notifier
}
}
}
値でフラグメントを通知する場合