代码之家  ›  专栏  ›  技术社区  ›  saulspatz

无法在Anko调用StartActivityForResult

  •  2
  • saulspatz  · 技术社区  · 8 年前

    我对安卓相当陌生,我正试着和科特林一起学习。在本规范中

    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 Activity Fragment .另一方面,接收器 StartActivity 碎片 Context ,或 AnkoContext<*> (不管是什么)。

    Intent 并且不使用 anko.StartActivityForResult

    我突然想到,也许我的代码组织得全错了。上面的代码是自定义的 ViewGroup 这就是 ImageButtons context 上下文 视图组 的主构造函数。我是否应该设置 onClickListeners 管理自定义 视图组 ? 如果没有,我怎么打电话 StartActivityForResult ?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Robin    8 年前

    startActivityForResult 只能在 Activity 因为只有一个 活动 可以接收另一个整理的结果 活动 ViewGroup 活动 Context ,或者,如果你知道你只会使用它 视图组 活动 ,只需将 上下文 活动 .

    不应对应用程序中的导航操作负责。这个 例如,可以允许侦听器注册当前触发导航操作的事件。这样 活动 可以注册该事件,自行导航并在外部处理结果 .