2009-09-02 118 views
0

我的Android應用程序的主屏幕有三個EditText視圖,意圖用作三種不同的搜索功能,每個都有一個「搜索」按鈕。多個EditText - 沒有獲得焦點,沒有軟鍵盤? (Android)

當使用軌跡球時,該應用在設備(G1)上完美工作:我可以在帶有軌跡球的EditText之間移動,所有事件都按預期觸發,我可以使用所選EditText中的物理鍵盤輸入文本,Enter正確提交正確的搜索等。 等

但是,我無法在使用觸摸的EditText視圖之間切換 - 只能使用軌跡球。觸摸似乎完全被EditText忽略。觸摸會爲按鈕做火,但非常困難 - 需要大量嘗試才能創建觸摸寄存器。

在模擬器中,單擊任何EditText都不會執行任何操作 - 第一個EditText始終保持選中狀態,並且我從不會獲得軟鍵盤。

這是在一個TabHost裏面 - 我讀過這個配置有一些問題,但它聽起來像一個稍微不同的問題(EditText似乎沒有失去焦點 - 一切與軌跡球完美配合)。

對於我可以檢查的任何建議?

+0

你能告訴我們你的XML佈局嗎? – 2009-09-04 01:30:55

回答

0

啊,我想通了。

從我第一次設置TabHost開始,我在佈局中留下了一個ListView。由於它沒有在屏幕上顯示任何內容,而且在我的佈局文件的底部,我沒有注意到它......只是注意到它不屬於那裏並將其擦除,並且所有控件開始行爲正常。

D'oh。

0

聽起來你的觸摸對象太小了。我會建議爲每個EditText添加一些填充,或者使用TouchDelegate來增加觸摸目標的大小。

+0

感謝您的回答! 但是,它似乎沒有太大區別......我將其中一個EditText的填充設置爲100px,它佔據了屏幕的將近一半,但仍然不會抓住焦點。 EditText抓住焦點的唯一時間是當選中其中一個按鈕時,我觸摸除按鈕之外的任何地方 - 但即使如此,只有第一個EditText獲得焦點,所以感覺更像是按鈕失去焦點並且它被賦予屏幕上的第一個可聚焦元素。 要麼有一些我不明白的聚焦規則,要麼是其他東西在捕捉觸動... – 2009-09-03 00:24:30