2つのアクティビティがあります。1つはBluetooth経由で接続を確立し、もう1つはBluetoothを管理することです。もう1つは、TextViewを含むGUIを更新するUIを更新することです。2つのアクティビティ内でメッセージの送受信に成功し、その逆も同様です。
private OnMessageReceivedListener dataReceivedListener = new OnMessageReceivedListener() {
public void OnMessageReceived(String device, String message) {
//t.setText(message);
Log.d("Message" , message);
msg = message;
UpdateGUI();
}
};
上記の関数はメッセージを受信し、それを正常に実行しました。
private void UpdateGUI() {
//i++;
//tv.setText(String.valueOf(i));
myHandler.post(myRunnable);
}
final Runnable myRunnable = new Runnable() {
public void run() {
btBoard.UpdateYoursBoard(mystring);
}
};
上記の接続クラスの関数は、GUIクラスのメソッドを呼び出し、受信したメッセージをそれに送信します。
GUIクラスでは、これが必要です
public void UpdateYoursBoard(String positions)
{
Log.d("Positions" , positions);
tv.setText(positions);
}; log.dでメッセージを正常に受信しましたが、テキストビューテキストを変更する場合、次のエラーが発生します。
java.lang.NullPointerException
at net.clc.bt.Board.UpdateYoursBoard(Board.java:3460)
注:Bluetoothを使用しており、3つのモバイルが同時に接続されており、UpdateYourBoardによって3つのモバイルGUIのTextViewが変更されます。
親切に問題を解決するのを手伝ってください。前もって感謝します