小编Pau*_*aul的帖子

requestFocus for TextView on Jelly Bean slow

我正在开发一个具有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测试了一个.

有没有人见过这个?

非常感谢

保罗

performance android android-4.2-jelly-bean

17
推荐指数
1
解决办法
1333
查看次数