2011-02-16 92 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

这是不是一个真正的答案,但我与模拟器的经验是,它的任何“物理”输入的支持仅限于无。即使试图模拟插入的耳机比它能处理的还要多。

我建议你尝试用键盘乞讨,借用或盗取真实的手机,然后在其上安装应用程序。

对不起,我不能更多的帮助:(