我正在开发一个应用程序,它有 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
}
});
}
这突出了这个问题。在基于 4.0.4 的设备上运行时一切都很好,但在 4.1.1 上移动焦点需要一段时间。
我已经在 2 款不同的三星 Galaxy s3 上进行了测试,一款为 4.0.4,另一款为 4.1.1。
有没有其他人看过这个?
非常感谢
保罗