我对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
的,将ImageButtons
mHelp 和 mSettings 作为子级,并context
传递Context
给ViewGroup
的主构造函数。我应该设置管理自定义的onClickListeners
吗?如果没有,我该怎么打电话? Activity
ViewGroup
StartActivityForResult