如果IP isReachable = true,则为setText

时间:2018-05-05 13:42:40

标签: java android textview settext

我将设置两个输出。第一个,如果我能够到达ip地址另一个,如果我无法达到它。

TextView server_statusTextView = findViewById(R.id.server_status);
try {
        if (InetAddress.getByAddress("1.1.1.1".getBytes()).isReachable(1000)) {
            server_statusTextView.setText("online");
        } else {
            server_statusTextView.setText("offline");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

但是,它不会在TextView中写入任何内容。 我是如何工作的?

1 个答案:

答案 0 :(得分:0)

我从未亲自使用InetAddress.getByAddress API,但是从您的代码和注释中,它看起来像是抛出异常,并且整个if块没有执行。如果您在逻辑上将该异常等同于离线,那么如果发生异常,您可以将文本设置为offline

TextView server_statusTextView = findViewById(R.id.server_status);

try {
    if (InetAddress.getByAddress("1.1.1.1".getBytes()).isReachable(1000)) {
        server_statusTextView.setText("online");
    } else {
        server_statusTextView.setText("offline");
    }
}
catch (IOException e) {
    // if the call to getByAddress fails, then consider the state to be offline
    server_statusTextView.setText("offline");
    e.printStackTrace();
}