2011-02-16 47 views
1

我有一些關於我最近使用物理鍵盤,EditText和方向更改的手機相關錯誤的報告。在Android模擬器上覆制物理鍵盤

我沒有帶物理鍵盤的手機,所以我必須嘗試以某種方式複製問題。在Eclipse的AVD管理器下的模擬器創建屏幕中,有一個「鍵盤支持」的選項。這是我如何在模擬器上覆制物理鍵盤手機?

有沒有其他方法可以調試我的問題?謝謝。

根據要求編輯:目前的症狀爲傳達由用戶

  1. 的EditText偏好沒有得到保存(我根據他們的意見作出這樣的假設)
  2. 有得因與活動在用戶打開鍵盤時不能正確切換方向。它要求用戶打開它兩次。

完成活動代碼。注意:下面的EditText不是問題EditText

public class GreetingOptions extends PreferenceActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.layout.greeting_options); 

     //Set the edit text preference to only accept positive integers 
     EditTextPreference fontSize = (EditTextPreference) findPreference("fontSize"); 
     EditText myEditText = (EditText) fontSize.getEditText(); 
     myEditText.setKeyListener(DigitsKeyListener.getInstance(false, false)); 

    } 
} 

回答

2

當用戶滑出物理鍵盤您的應用程序被破壞,重建,只是一樣,當方向改變會發生什麼。我建議試圖複製。使用取向變化的問題,您可以使用仿真器實現這一點:

切換到上一個佈局方向(例如,人像,風景)KEYPAD_7,按Ctrl-F11
切換到下一個佈局方向上(例如,肖像,風景)KEYPAD_9,Ctrl-F12

要解決此問題,我懷疑在應用程序被銷燬時需要保存Activity的狀態,並在重新創建時將其恢復。您可能會發現查看應用程序生命週期很有用。

+0

方向變化的活動很好地工作,否則。實際上`Activity`是5行代碼,它們都不能控制我遇到問題的EditText。它是通過XML處理的`PreferenceActivity`。必須有其他東西造成它... – user432209 2011-02-16 23:46:07

1

這是不是一個真正的答案,但我與模擬器的經驗是,它的任何「物理」輸入的支持僅限於無。即使試圖模擬插入的耳機比它能處理的還要多。

我建議你嘗試用鍵盤乞討,借用或盜取真實的手機,然後在其上安裝應用程序。

對不起,我不能更多的幫助:(