tarSign.setOnClickListener {
Navigation.createNavigateOnClickListener(
R.id.action_listFragment_to_detailFragment,
fragmentBundle
)
}
starSign.setOnClickListener(
Navigation.createNavigateOnClickListener(
R.id.action_listFragment_to_detailFragment,
fragmentBundle
)
)
请告诉我这两个有什么区别
我还以为他们也会这样呢
1条答案
按热度按时间yuvru6vn1#
在第一个示例中,您创建了一个侦听器,它调用
Navigation.createNavigateOnClickListener
,然后对返回的侦听器不做任何操作。{ }
中的代码是每次单击按钮时调用的侦听器代码。因此,当单击该按钮时,它创建了一个未使用的导航侦听器,基本上什么也没完成。在第二个例子中,首先(立即)调用
Navigation.createNavigateOnClickListener
,并将创建的侦听器传递给按钮。因此,按钮的单击侦听器就是您创建的导航侦听器。阅读Kotlintrailing lambda语法。