执行之间有什么不同吗?
launch {
function1()
}
fun function1(){
DoSomething...
}
Run Code Online (Sandbox Code Playgroud)
和
launch {
function2()
}
suspend fun function2(){
DoSomething...
}
Run Code Online (Sandbox Code Playgroud) 我正在使用android maps v2,我正在使用填充来移动地图控件和google的徽标:
mMap.setPadding(0, 0, 0, padding_in_px);
Run Code Online (Sandbox Code Playgroud)
另一方面,我需要知道地图可见部分的限制:
LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
Run Code Online (Sandbox Code Playgroud)
问题是,如果我填充填充,该函数不会返回地图上可见区域的边界,而只返回可见区域的边界减去填充区域.
当地图有填充mMap.getProjection()时,有没有办法.getVisibleRegion()返回实际的可见边界而不是地图边界 - 填充边界?
谢谢
我正在尝试将一个侦听器从一个动作传递给一个类(一个适配器).
在java中(来自Action的代码):
private void setListeners() {
adapterRecyclerView.setListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
SomeCodehere....
}
});
}
Run Code Online (Sandbox Code Playgroud)
(来自适配器的代码)
public void setListener(View.OnClickListener listener) {
this.listener = listener;
}
Run Code Online (Sandbox Code Playgroud)
有用.
现在我正试图转向kotlin.我首先翻译动作(将动作翻译为kotlin):
private fun setListeners() {
// !! is not fine i know
adapterRecyclerView!!.setListener { v ->
SomeCodehere....
}
}
Run Code Online (Sandbox Code Playgroud)
此时仍然有效.适配器的代码仍然在java和kotlin中的类的代码.现在我将适配器翻译为kotlin:
fun setListener(listener: View.OnClickListener) {
this.listener = listener
}
Run Code Online (Sandbox Code Playgroud)
现在它不起作用.Action没有编译.
错误:无法推断此参数"v"的类型.必需的View.OnClickListener.发现(???)单位.
我该怎么做演员?为什么将参数从kotlin传递给java工作,从kotlin传递给kotlin它不是?