android final作用,android – 更新UI / runOnUiThread / final变量:如...

试试吧:

@Override

public void connStateChange(ClientHandler clientHandler) {

final ClientHandler temporaryHander = clientHandler;

runOnUiThread(new Runnable() {

public void run() {

tv.append(temporaryHandler.getIP() + ", " + temporaryHandler.state.toString() + "

");

if (temporaryHandler.state == State.Connected) {

tv.append("Loginserver hittad");

}

}

});

}

顺便说一下,如果你在方法中声明不是anonim类,而是在方法中声明内部类,代码就会变得更具可读性.将其视为模式命令.

更干净和可重用代码的示例.

@Override

public void connStateChange(ClientHandler clientHandler) {

final ClientHandler temporaryHander = clientHandler;

runOnUiThread(new MyRunnableCommand(temporaryHandler));

}

private class MyRunnableCommand implements Runnable {

private ClientHandler clientHandler;

public MyRunnableCommand(ClientHandler clientHandler) {

this.clientHandler = clientHandler;

}

@Override

public void run() {

tv.append(clientHandler.getIP() + ", " + clientHandler.state.toString() + "

");

if (clientHandler.state == State.Connected) {

tv.append("Loginserver hittad");

}

}

}

尽管Runnable实现本身已经膨胀了一些,但代码变得更加可重用且易于阅读.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值