2011-02-24 47 views
3

我開發一個Android應用程序,並在下列情況下一個問題:問題與Android鍵盤顯示出來當活動開始

  1. 的第一個活動列表用戶觸摸列表項
  2. 一個對話窗口彈出所選項目的子類別列表
  3. 用戶選擇子類別
  4. 下一個活動以所選項目和子類別開始。需要注意的是:
    • 下一個活動的屏幕上的第一個元素是一個EditText字段
    • 上的下一個活動的第二元件處於所述onCreate()方法我將焦點設置在按鈕上的按鈕和 speakNameBtn.requestFocus();

這裏問題就變成了:如果用戶在步驟3中通過在列表中觸摸它來選擇子類別,則在下一個屏幕上,用戶看到彈出式鍵盤,並且EditText字段而不是按鈕具有焦點。

問題 - 我該如何防止該鍵盤出現?

似乎第一個屏幕對話框上的觸摸事件以某種方式傳播到下一個活動。如果我使用球來選擇一個子類別而不是觸摸它,一切都按預期工作 - 按鈕上設置的焦點,我看不到鍵盤。

任何想法將不勝感激。

+0

http://stackoverflow.com/questions/1555109給出了一個更完整的答案。 – rjrjr

回答

8

將這個在上面的EditText:

<!-- Dummy item to prevent AutoCompleteTextView from receiving focus --> 
<LinearLayout 
    android:focusable="true" android:focusableInTouchMode="true" 
    android:layout_width="0px" android:layout_height="0px"/> 

我把它從一個論壇,幾個月前,它工作得很好......不可能再找到它,所以我從我的項目之一粘貼。

+0

這個技巧很有效!謝謝! – Damir

相關問題