2010-11-04 33 views
1

有沒有一種方法可以通過編程方式取消選擇/擦除用戶使用軌跡球/觸控板選擇的任何內容?取消選擇任何軌跡球/觸控板選擇

當我點擊一個活動的後退按鈕時,它回退的活動有一個按鈕,就像用戶使用軌跡球/墊一樣。我不確定在之前的活動中選擇了什麼,但顯然有些事情是。我想在活動結束之前以編程方式擦除任何選擇。

回答

0

翻閱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()。

+0

這對我來說似乎完全合乎邏輯,但由於某種原因,它不起作用。我已經嘗試覆蓋onBackPressed處理程序,並在調用finish()之前清除焦點。我也試着清理後臺Activity的onActivityResult處理程序中的焦點。在這兩種情況下,我最後都會收到一個按鈕。焦點:(這隻會在我在頂部Activity中輸入EditText時發生。 – Andrew 2010-11-04 20:03:47

+0

我相信有一個更改焦點事件,您可以聽...。您可以重寫'View.onFocusChanged'和/或'View.onWindowFocusChanged'。我之前鏈接到的同一頁上的信息。 – 2010-11-04 22:45:42