Android用のソケットプログラムのrun()スレッドメソッド内にいくつかのonclickメソッドを配置しました。
彼らはうまくいかないようです。これらのonclickリスナーをrun()メソッド内に配置することも可能になりました。ボタンをクリックしたときにボタンが応答を生成しない理由がわかりません。メッセージが送信されていません
これが私が使用している2つのonclickリスナーです。1つはsendAで、もう1つはsendBで、テキストメッセージtestAとtestBを送信します。
public class ClientThread implements Runnable {
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(serverIpAddress);
Log.d("ClientActivity", "C: Connecting...");
Socket socket = new Socket(serverAddr, 8080);
connected = true;
while (connected) {
try {
Log.d("ClientActivity", "C: Sending command.");
final PrintWriter out = new PrintWriter(
new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream())), true);
sendA.setOnClickListener(new View.OnClickListener() {
// ananamous inner class override for on click
public void onClick(View v) {
out.println("testA");
}
});
sendB.setOnClickListener(new View.OnClickListener() {
// ananamous inner class override for on click
public void onClick(View v) {
out.println("testB");
}
});
// where you issue the commands
// out.println("testX");
Log.d("ClientActivity", "C: Sent.");
} catch (Exception e) {
Log.e("ClientActivity", "S: Error", e);
}
}
socket.close();
Log.d("ClientActivity", "C: Closed.");
} catch (Exception e) {
Log.e("ClientActivity", "C: Error", e);
connected = false;
}
}
}