Pau*_*aul 17 performance android android-4.2-jelly-bean
我正在开发一个具有4个文本字段的应用程序,用于输入数据,当我将焦点从一个移动到另一个时,我遇到了性能问题.当一个字段输入一个字符时,我使用addTextChangedListener监视文本并将焦点移动到下一个文本字段.这在4.1.1之前的android版本上工作正常,但是自从4.1.1测试后,当你在焦点出现在下一个字段之前按一个键时会有明显的延迟.这意味着如果用户快速键入,则按键可能会丢失.
我有一个使用以下代码的简单应用程序
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
one = (EditText)findViewById(R.id.editText1);
two = (EditText)findViewById(R.id.editText2);
one.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
two.requestFocus();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
});
}
Run Code Online (Sandbox Code Playgroud)
这突出了这个问题.在基于4.0.4的设备上运行时一切正常,但在4.1.1上移动焦点需要一段时间.
我已经在2个不同的三星Galaxy s3上用4.0.4测试了这个,用4.1.1测试了一个.
有没有人见过这个?
非常感谢
保罗
net*_*ein 11
我不知道是否有针对该问题的解决方案 ......但是我可能会遇到一个"hack",在问题存在时提供替代解决方案:
将EditText放在屏幕外.(我通常使用RelativeLayout将其设置在右边距的右侧).
设置onTouchListener为可见的EditText(并将EditText设置为不可单击).本onTouchListener应该将焦点转移到隐藏的EditText.
在隐藏的EditText设置中addTextChangedListener,为每个添加或删除的字符设置哪个在可见的EditTexts上进行了适当的更改.
例:
如果我有4个EditTexts与ID的密码:A,B,C和D和的EditText出与ID屏幕hidden:
每当我收到hidden我写的第一个字符时A.
每当我收到hidden我写的第二个字符时B.
每当我收到删除hidden我删除的第二个字符B.
...
我在我的一个应用程序上做了类似的事情,没有任何问题.
| 归档时间: |
|
| 查看次数: |
1333 次 |
| 最近记录: |