我最近的应用程序中有一些关于带有物理键盘,EditText和方向更改的手机相关错误的报告。
我没有配有物理键盘的手机,所以我必须尝试以某种方式复制问题。在Eclipse中AVD管理器下的模拟器创建屏幕中,有一个“键盘支持”选项。这是我在模拟器上复制物理键盘手机的方式吗?
我还有其他方法可以调试我的问题吗?感谢。
根据要求修改:用户传达的当前症状
完成活动代码。注意:下面的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));
}
}
答案 0 :(得分:2)
当用户滑出物理键盘时,您的应用会被销毁并重新创建,与方向更改时的情况相同。我建议尝试使用方向更改来复制问题。您可以使用以下命令在模拟器中完成此操作:
切换到先前的布局方向(例如,纵向,横向)KEYPAD_7,Ctrl-F11
切换到下一个布局方向(例如,纵向,横向)KEYPAD_9,Ctrl-F12
要解决此问题,我怀疑您需要在销毁应用时保存Activity
的状态,并在重新创建时将其恢复。您可能会发现查看应用程序生命周期很有用。
答案 1 :(得分:1)
这不是一个真正的答案,但我对模拟器的体验是它对任何“物理”输入的支持仅限于没有。即使试图模拟插入耳机也不仅仅是可以处理。
我建议您尝试使用键盘来乞讨,借用或窃取真正的手机,并在其上安装应用程序。
抱歉,我无法提供更多帮助:(