我对android很陌生,我正在尝试用kotlin学习它。在这段代码中
mHelp.setOnClickListener {context.startActivity<HelpActivity>()}
mSettings.setOnClickListener {
context.startActivityForResult<LocalSettingsActivity>(
LOCAL_SETTINGS_REQUEST,
"coords" to this.board.mCoords,
"drag" to this.mWhiteStones[0].drag )
}
调用startActivity工作正常,但调用startActivityForResult. 该错误表明它是接收器类型不匹配,并且接收器应该是 anActivity或 a Fragment。另一方面,接收者StartActivity可以是 a Fragment、 aContext或 an AnkoContext<*>(无论是什么)。
当然,我可以通过构建Intent而不是使用来完成这项工作(我认为) anko.StartActivityForResult,但我想了解发生了什么。
我突然想到,也许我的代码组织错了。上面的代码是自定义ViewGroup的,将ImageButtonsmHelp 和 mSettings 作为子级,并context传递Context给ViewGroup的主构造函数。我应该设置管理自定义的onClickListeners吗?如果没有,我该怎么打电话? ActivityViewGroupStartActivityForResult