0

我有一个使用套接字的客户端服务器程序,一个 android 平板电脑是服务器,另一个 android 是客户端。它在下面显示的第一个示例中工作正常,我发送一条简单的消息,但在下面的第二个示例中,我尝试使用 if 语句但它不起作用。我想知道这是为什么?

receivedCommand 是 textView

这是第一个没有问题的例子

public String line = null;
try {
  BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

  while ((line = in.readLine()) != null) {
    Log.d("ServerActivity", line);
    handler.post(new Runnable() {
      @Override
      public void run() {
        receivedCommand.setText(line);
      }
    });
  }

现在是使用 if 语句时不起作用的第二个示例

public String line = null;
try {

  BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

  while ((line = in.readLine()) != null) {
    Log.d("ServerActivity", line);
    handler.post(new Runnable() {
      @Override
      public void run() {
        //receivedCommand.setText(line);

        if(line.equals("test")){
          receivedCommand.setText("test received"); 
        }

      }
    });
  }
4

1 回答 1

1

似乎你所要做的就是

line.trim().equals("test"))

总是trim()从其他来源获取字符串时,它可能只是在您不期望的地方有空格,并导致比较返回 false。

于 2013-01-24T01:39:23.617 回答