1
有没有一种方法可以通过编程方式取消选择/擦除用户使用轨迹球/触控板选择的任何内容?取消选择任何轨迹球/触控板选择
当我点击一个活动的后退按钮时,它回退的活动有一个按钮,就像用户使用轨迹球/垫一样。我不确定在之前的活动中选择了什么,但显然有些事情是。我想在活动结束之前以编程方式擦除任何选择。
有没有一种方法可以通过编程方式取消选择/擦除用户使用轨迹球/触控板选择的任何内容?取消选择任何轨迹球/触控板选择
当我点击一个活动的后退按钮时,它回退的活动有一个按钮,就像用户使用轨迹球/垫一样。我不确定在之前的活动中选择了什么,但显然有些事情是。我想在活动结束之前以编程方式擦除任何选择。
翻阅JavaDoc for View我看到许多与焦点相关的功能。
void clearFocus(); // drop focus from this view.
View findFocus(); // finds a view that is a child of this view that has focus, if any
View focusSearch(int dir); // finds the next view that can take focus in the given direction
void requestFocus
听起来findFocus().clearFocus()
应该做的伎俩(除非findFocus恰好返回null)...你只需要一个句柄其他活动的看法......这应该不是太难,如果它是你的代码,如果不是,则为非平凡。
如果是你的代码,看起来你可以在按钮的onClickHandler中添加一个clearFocus()。
这对我来说似乎完全合乎逻辑,但由于某种原因,它不起作用。我已经尝试覆盖onBackPressed处理程序,并在调用finish()之前清除焦点。我也试着清理后台Activity的onActivityResult处理程序中的焦点。在这两种情况下,我最后都会收到一个按钮。焦点:(这只会在我在顶部Activity中输入EditText时发生。 – Andrew 2010-11-04 20:03:47
我相信有一个更改焦点事件,您可以听...。您可以重写'View.onFocusChanged'和/或'View.onWindowFocusChanged'。我之前链接到的同一页上的信息。 – 2010-11-04 22:45:42