无法在 Anko 中调用 StartActivityForResult

2024-03-26

我对 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。该错误表明这是接收器类型不匹配,并且接收器应该是Activity or a Fragment。另一方面,接收器StartActivity可以是一个Fragment, a Context, or an AnkoContext<*>(无论那是什么)。

当然,我可以通过构建(我认为)来完成这项工作Intent并且不使用anko.StartActivityForResult,但我想了解发生了什么事。

我突然想到,也许我的代码组织完全错误。上面的代码是自定义的ViewGroup具有ImageButtonsmHelp 和 mSettings 作为子项,以及context is the Context传递给ViewGroup的主要构造函数。我也许应该设置onClickListeners in the Activity管理自定义ViewGroup?如果没有的话我怎么打电话StartActivityForResult?


startActivityForResult只能在Activity因为只有一个Activity可以收到另一个整理的结果Activity。有几种解决方案,可能最简单的就是更改您的自定义ViewGroup以便它接受Activity而不仅仅是一个Context,或者,如果你知道你只会使用它ViewGroup从一个Activity,只需投射Context to an Activity.

不过,当您说您的代码可能可以更好地组织以完全避免这个问题时,您是对的。就在关注点分离之后,您的ViewGroup不应该对您的应用程序中的导航操作负责。这ViewGroup例如,可以允许侦听器注册现在触发导航操作的事件。这样,Activity可以注册该事件,自行进行导航并在外部处理结果ViewGroup.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 Anko 中调用 StartActivityForResult 的相关文章

  • 如何制作像 Google+ 应用程序中那样的气泡? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有谁知道如何使用 Google An
  • 通过代码在创建时突出显示 ListView 项目

    我想在创建 listView 时突出显示 ListView 的第一行 0 我尝试了不同的方法 就像您在注释代码中看到的那样 但没有任何效果 这很奇怪 因为 OnItemClickListener 中的突出显示工作正常 它通过 xml 选择器
  • Android:如何暂停和恢复可运行线程?

    我正在使用 postDelayed 可运行线程 当我按下按钮时 我需要暂停并恢复该线程 请任何人帮助我 这是我的主题 protected void animation music6 music4 postDelayed new Runnab
  • 虚拟回调接口

    在 Eclipse 为您创建的来自 Google 的示例主从流代码中 片段中包含以下内容 private Callbacks mCallbacks sDummyCallbacks public interface Callbacks pub
  • Android 中使用黑白 alpha 蒙版的高效位图蒙版

    我想用黑白 alpha 蒙版来掩盖位图 我的蒙版图像是黑白的 黑色区域意味着透明 白色区域意味着不透明 我需要的是 当我使用此蒙版图像来蒙版任何其他图像时 如果蒙版图像的相应区域为黑色 则生成的图像区域应为透明 否则 生成的图像区域应该是不
  • 如何使用 Google 的 GithubBrowserSample 方法在片段之间共享视图模型?

    我对 Android 架构组件的使用非常陌生 因此我决定使用 GithubBrowserSample 来构建我的应用程序来实现我的许多用例 但我有一个问题 我不知道使用这种方法在片段之间共享视图模型的正确方法是什么 我想共享视图模型 因为我
  • 更改语言 Flutter 的按钮

    我正在 Flutter 中构建一个应用程序 到目前为止 我正在使用 JSON 国际化 其中应用程序的语言基于用户手机中默认的语言 它工作得很好 但我想给用户有机会在不更改手机系统语言设置的情况下更改语言 只需单击按钮 然后应用程序即可更改语
  • FragmentActivity 无法解析为类型

    我正在尝试来自的应用程序这个博客 http android developers blogspot com 2011 02 android 30 fragments api html 在延长的同时FragmentActivity 我收到以下
  • Android:WebView/BaseInputConnection 中的退格键

    我在 Android 4 2 中遇到软键盘退格问题 我在 WebView CodeMirror 中有一个自定义编辑器 它使用一个空的
  • AndEngine MenuScene - 无法单击按钮

    我有一个关于 android 和 andengine 的小问题 这是我的主菜单的源代码 AbstractScene is extending Scene public class MainMenuScene extends Abstract
  • 如何在Android模拟器中隐藏应用程序图标?

    我有一个应用程序在启动完成后自动启动 但应用程序图标显示在android模拟器中 现在我想向用户隐藏该图标 这样用户就无法知道应用程序已启动 并且他们无法启动该应用程序手动申请 在您的 AndroidManifest xml 文件中 您可能
  • Android - 状态栏阻止全屏

    我的应用程序启动时可以全屏正确运行 然而 在最小化然后返回应用程序后 状态栏会弹出 并将我的视图向下推一点 如何防止状态栏移动我的视图 这是我的布局
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • 活动加载缓慢

    我的应用程序中有大约 50 个活动 但其中一个活动非常慢 我的意思是当我按下按钮进入该活动时 需要很长时间 有时会出现黑屏 在该活动中 我有一个按钮 如果我单击该按钮 则需要很长时间才能执行 代码很轻 只有一个Button EditText
  • Android 中 Activity 之间的 3D 动画

    How to create animation between two Activity look like As Screen shot in android 搜索jazzyviewpager 这是link https github co
  • 了解应用程序在后台时何时收到 Firebase 消息

    我知道这个标题有同样的问题 但不幸的是它没有得到正确的回答 它被接受了 here https stackoverflow com questions 37711082 how to handle notification when app
  • 使 Recyclerview 固定高度并可滚动

    已解决以下检查答案 所以我试图为我的 Android 应用程序创建评论功能 我想在 recyclerview 中显示评论 然后在 recyclerview 下方有一个按钮和文本视图来添加评论 我想让 recyclerview 具有一定的高度
  • 通过 Gradle 和 Android Studio 构建和运行应用程序比通过 Eclipse 慢

    我有一个多项目 10 个模块 每次构建大约需要 20 30 秒 当我在 Android Studio 中按 运行 时 每次都必须等待才能重建应用程序 这非常慢 是否可以在 Android Studio 中自动化构建过程 或者您对如何加快此过
  • onPrepareOptionsMenu 复制 ActionBar 中的项目

    当我使用 onPrepareOptionsMenu 添加菜单项时 该菜单项会在操作栏中复制其自身 我正在使用片段并在主要活动的 ActionBar 中创建初始菜单 如下所示 Override public boolean onCreateO
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On

随机推荐

  • 如何在 Rails 内的 AREL 子查询上进行连接

    我有一个简单的模型 class User has many logs class Logs 通过外键logs user id以通常的方式关联 我正在尝试使用 Arel 执行以下操作 根据 Arel 文档 它应该可以工作 u t Arel T
  • Pyspark 命令无法识别

    我安装了 anaconda 还下载了 Spark 1 6 2 我使用此答案中的以下说明为 Jupyter 配置 Spark在此输入链接描述 https stackoverflow com questions 33064031 link sp
  • JPA,外部化列、表或模式名称?

    我将 Spring Hibernate Tomcat Oracle 应用程序改编为分布式形式 并且需要在 JPA 注释中自定义模式名称 类似于 Spring EL Entity Table name LOSS schema app data
  • 重写java中的方法,然后将对象转换为父类行为

    我有一个父类 A 和一个子类 B B 重写了 A 中的方法 f public class A public String f return A public class B extends A public String f return
  • Monotouch/WCF:为什么无法覆盖wcf绑定超时设置

    Monotouch WCF 为什么无法覆盖 wcf 绑定默认超时设置 public class MyServiceClient ClientBase
  • Jade/Pug if else 条件用法

    我正在使用 js 文件将日期发送到 jade 文件Node js 当 的时候 date 场是false 它执行 else 并打印man因为它的答案 可能出了什么问题 if date false date else man 如果 date 为
  • ActiveRecord什么时候保存关联?

    我知道它会保存关联autosave true as per https api rubyonrails org classes ActiveRecord AutosaveAssociation html https api rubyonra
  • 按照这些规范用Python制作一个空心盒子?

    我要 编写一个 python 程序 提示用户输入一个正整数 n 然后该程序打印一个包含 n 行和 2 n 列的空心矩形 例如 输入 3 将输出 我的代码是 n int input Please enter a positive intege
  • 对片段之间的过渡进行动画处理

    我正在尝试为片段之间的过渡设置动画 我从以下得到了答案 Android 片段和动画 https stackoverflow com questions 4817900 android fragments and animation Frag
  • 将匿名对象传递给视图

    我想将两个值从控制器操作传递到 asp net MVC 3 Razor 视图 我在操作方法中这样做 var model new reportid rid refno refernumber return View model 但是当我尝试像
  • 在 FB 和 LINKEDIN 上共享文本与页面文本?

    我刚刚偶然发现在 Facebook LinkedIn 上将文本 主题标签 与文本一起共享 这是我正在尝试做的事情 标签 STUFF li class facebook a target blank href facebook a li 不幸
  • SSIS 脚本任务在计划时不工作

    我找不到类似的问题 我有一个 SSIS 包 其中包含一个 Visual Basic 脚本任务 其中包含以下行 msgbox some text 它从 BIDS 运行良好 并从 MSDB 手动执行 但当我在 SQL Server 代理中安排它
  • 了解缓存?

    昨天 我们家里没有电 因此无法上网 所以我认为我无法让我的网络应用程序在本地工作 因为在 index html 末尾我有
  • 如何在 macOS 上的 Sublime Text 中在同一窗口中打开文件和文件夹?

    如果我打开 foo txt然后打开 baz bar txt从终端 Sublime Text 总是打开 2 个不同的窗口 打开所有这些不同的窗户真是令人烦恼 我尝试过更改 ST 的一些设置 但似乎没有任何办法可以解决这个问题 有没有办法让所有
  • 插件包的 Xcode 单元测试

    我想将单元测试添加到我的应用程序中 不幸的是 目前大部分功能都位于插件中 我的插件基础设施由一个带有插件基类和一些共享帮助器类和资源的框架组成 现在我想添加一个能够测试我的插件的单元测试 我想创建一个 测试 应用程序来加载该包并将所有调用重
  • Ruby BCrypt 哈希比较

    我正在尝试使用 Sinatra 和 BCrypt 实现看似非常简单的身份验证方法 但显然我错过了一些东西 用户预先分配了一个临时密码 该密码以明文形式存储在数据库中 我根据临时密码进行身份验证 然后创建 salt 和 password ha
  • 使用 strtotime() 从字符串(各种时间单位)中减去间隔;

    我正在创建一个票务系统 我已经存储了票证创建日期和当前日期之间的间隔 每张票证都有一个存储为字符串的解决时间限制 targetTime 15 分钟 4 小时等 我试图通过从时间限制字符串中减去间隔来计算剩余时间 我尝试在 targetTim
  • 将 NULL 值插入双精度数据类型 MySQL Python

    我有一张桌子 这是创建语句 CREATE TABLE runsettings runnumber mediumint 9 NOT NULL equipment varchar 45 NOT NULL wafer varchar 45 NOT
  • 将 Unix 纪元时间戳转换为 JavaScript 日期时间戳

    我有一个带有 Unix 纪元时间戳的数据库 我想在 Highcharts 图表中绘制这些值 这需要 JavaScript 日期时间戳 自 1970 年 1 月 1 日以来的毫秒数 数据库数组当前如下所示 data 1519395624 10
  • 无法在 Anko 中调用 StartActivityForResult

    我对 android 还很陌生 我正在尝试用 kotlin 来学习它 在这段代码中 mHelp setOnClickListener context startActivity