【问题标题】:Android edittext loses and repeats texts received via TCP socketAndroid edittext 丢失并重复通过 TCP 套接字接收的文本
【发布时间】:2020-01-12 02:35:02
【问题描述】:

我在 Android Studio 中遇到了编辑文本问题。

通常,log.d 报告通过 TCP 套接字接收到的消息,并且 这些出现在 textedit mySocketrx 中。当有斋戒时 消息突发 log.d 仍然可以正常工作,但 textedit 丢失并重复 消息。

protected void onCreate(Bundle savedInstanceState) {

    final EditText mySocketrx = (EditText) findViewById(R.id.Socketrx);

    new Thread(new Runnable() { // Client TCP socket thread
                public void run() {
                        try {
                            s = new Socket("192.168.1.161",6000);
                            p = new PrintStream(s.getOutputStream());
                            b = new BufferedReader ( new InputStreamReader( s.getInputStream() ) );
                        } catch(Exception ex) { }
            while (true) {
                            try {
                                    status = b.readLine();
                                    Log.d("DEBUG", status);
                                    runOnUiThread(new Runnable() {
                                        public void run() {
                                                mySocketrx.append(status + "\n");
                                        }
                                    } );
                            } catch(Exception ex) { }
                        }
        }
        }).start();
}

【问题讨论】:

    标签: android sockets tcp android-edittext


    【解决方案1】:

    使用 setText() 方法代替 append()。

    【讨论】:

      猜你喜欢
      • 2015-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      相关资源
      最近更新 更多