Android:从 View 中触发 Intent

标签 android view android-edittext android-intent

我有一个带有自定义 View 的 Activity ,它在其中扩展了 EditText。通常,当有人长按 EditView 时,会弹出一个菜单,要求用户选择输入法。

我已经覆盖 onLongClick不显示此菜单,因为 我使用自己的输入法。但是,我希望 ListActivity 在用户长按 EditText(或者更确切地说是我的扩展 EditText 的 View )时启动。 但似乎 View 不能激发 Intent ,只能激发 Activity ,对吗?

很好,所以我尝试从生成类似 EditText 的 View 的 Activity 中捕获长按。但是在我的类似 EditText 的 View 中,我已经使用了 longclick,或者在重写的 onLongClick() 中通过将其设置为 true 来避免 “请选择输入法” 菜单出现,或者如果返回 false,那么那个菜单就会出现并消耗我的 longclick。在这两种情况下, Intent 都不会触发...

简而言之: 用户长按一个 EditText,我想启动一个自定义 ListActivity。我该如何实现?

编辑: 所以我在Context对象中找到了startActivity。但我会让用户从列表中选择一个项目。然后该项目将出现在 EditText 中,所以我认为我必须使用 startActivityForResult,顺便说一句,它不会出现在 Context 对象中:(

编辑 2: 如何从使用 startActivity 启动的 Activity 中获取结果?

最佳答案

您不需要 Activity 来 start another Activity ,而是一个上下文对象。

这里有两个选择。您可以使用自定义构造函数或 setter 方法将上下文传递到自定义 View 中。或者 OnLongClickListener 必须在 Activity 中实现并从那里设置为自定义 EditText。

关于Android:从 View 中触发 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8699584/

相关文章:

java - 机器人 : how to change the style of edit text?

android - 单击按钮添加额外的 <Edittext> View

android - Dagger2 中 @Binds 与 @Provides 注释的用例是什么

android - 即使模拟器正在运行也找不到设备

view - 如何从 SQL View 创建 Prisma 模型

ios - 按钮到相同的 View ios

java - Android:如何在表单中强制执行最小值

android - 如何同时使抽屉导航选框 ListView 中的所有 TextView ?

java - 将大量预定义字符串添加到 Spinner 小部件的简单方法?

android - 对我的所有 Activity 使用固定 View