1

在 java 中,以下代码将用于在“我的位置”按钮中设置覆盖。

    //add location button click listener
    map.setOnMyLocationButtonClickListener(new 
    GoogleMap.OnMyLocationButtonClickListener(){
        @Override
        public boolean onMyLocationButtonClick()
        {
            //TODO: Any custom actions
            return false;
        }
    });

但是,在 kotlin 中,我找不到任何教程来学习如何在 kotlin 中设置新操作。我看过一些关于将 java 代码翻译成 kotlin 的教程。然而,它并不成功。

    map.setOnMyLocationButtonClickListener( { 
        GoogleMap.OnMyLocationButtonClickListener() {
            override fun onMyLocationButtonClick() : Boolean {
                //TODO: Any custom actions
                return false;
            }
        }
    )}

表明

类型不匹配。必需:布尔值 找到:GoogleMap.OnMyLocationButtonClickListener 布尔类型的预期值

我预计这个覆盖是有效的,但我找不到任何关于这个的教程。谁能解决我的问题?谢谢你。

4

2 回答 2

1

你可以写。Kotlin 支持 Java SAM 接口

map.setOnMyLocationButtonClickListener {
    // todo
    false
}
于 2019-09-19T11:40:17.790 回答
0

尝试

map.setOnMyLocationButtonClickListener(object :
            GoogleMap.OnMyLocationButtonClickListener {
            override fun onMyLocationButtonClick(): Boolean {

                return false
            }
        })
于 2019-09-19T12:40:28.713 回答