Android:从视图中获取意图

时间:2012-01-02 10:11:43

标签: android view android-edittext android-intent

我有一个自定义视图的活动,其中包含EditText。通常当有人长按一个EditView时menu pops up要求用户选择输入法。

我已重写 onLongClick 使此菜单不显示,因为 我使用自己的输入方法。但是,当用户长按ListActivity(或者更确切地说是扩展EditText的视图)时,我想要EditText开始。 但似乎一个观点无法激发意图,只有活动,我是对的吗?

很好,所以我尝试从生成类似EditText的视图的活动中捕获longclick。但是在我的类似EditText的视图中,我已经使用了longclick,要么在被覆盖的onLongClick()中设置为true,以避免出现“Please choose input method”菜单,或者返回false ,然后出现这个菜单并消耗我的longclick。在任何一种情况下,意图都不会发生......

简而言之: 用户长按EditText,我想要启动自定义ListActivity。我该如何做到这一点?

修改 所以我在startActivity中找到了Context object。但我会让用户从列表中选择一个项目。该项目随后将显示在EditText中,因此我认为我必须使用startActivityForResult,这在Context object中没有出现:(

编辑2: 如何从以startActivity开始的活动中获得结果?

1 个答案:

答案 0 :(得分:2)

您不需要start another Activity的活动,而是Context对象。

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