在Android模拟器上复制物理键盘

时间:2011-02-16 17:55:49

标签: android keyboard emulation

我最近的应用程序中有一些关于带有物理键盘,EditText和方向更改的手机相关错误的报告。

我没有配有物理键盘的手机,所以我必须尝试以某种方式复制问题。在Eclipse中AVD管理器下的模拟器创建屏幕中,有一个“键盘支持”选项。这是我在模拟器上复制物理键盘手机的方式吗?

我还有其他方法可以调试我的问题吗?感谢。

根据要求修改:用户传达的当前症状

  1. EditText首选项没有被保存(我根据他们的输入做出这个假设)
  2. 当用户打开键盘时,活动没有正确切换方向。它要求用户打开它两次。
  3. 完成活动代码。注意:下面的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 个答案:

答案 0 :(得分:2)

当用户滑出物理键盘时,您的应用会被销毁并重新创建,与方向更改时的情况相同。我建议尝试使用方向更改来复制问题。您可以使用以下命令在模拟器中完成此操作:

  

切换到先前的布局方向(例如,纵向,横向)KEYPAD_7,Ctrl-F11
  切换到下一个布局方向(例如,纵向,横向)KEYPAD_9,Ctrl-F12

要解决此问题,我怀疑您需要在销毁应用时保存Activity的状态,并在重新创建时将其恢复。您可能会发现查看应用程序生命周期很有用。

答案 1 :(得分:1)

这不是一个真正的答案,但我对模拟器的体验是它对任何“物理”输入的支持仅限于没有。即使试图模拟插入耳机也不仅仅是可以处理。

我建议您尝试使用键盘来乞讨,借用或窃取真正的手机,并在其上安装应用程序。

抱歉,我无法提供更多帮助:(