runOnUiThread中的方法



我几周前刚开始学习Java和Android,在尝试理解下面的代码时发现遇到了问题。

runOnUiThread(new Runnable() {
Runnable setData(String _denso, String _data) {
denso = _denso;
data = _data;
return this;
}
@Override
public void run() {
}
}.setData(data.getSymbologyDenso(), data.getData())

我很难理解setData方法是如何工作的,为什么它可以在实例初始化块之后使用。如果有人能帮助我理解代码的这一部分,那将是很有帮助的。

您正在创建一个匿名类的实例,然后在该实例上调用setData方法。setData返回实例本身,实例本身又作为runOnUiThread的参数传递。

无论如何,setData返回this似乎只是为了维持收支平衡:我认为这不是一个好的解决方案。如果您需要初始化Runnable,那么最好将其作为一个(可能是内部的(类,并使用适当的构造函数。

PS:您应该遵循Java代码约定(不要在参数的第一个字符中使用下划线(。

最新更新