requestFocus这个方法是有延时的,android刷新时按照一定顺序,如果界面刷新未完成时,调用requestFocus是没有效果的。
Android加载刷新UI的时候,是从左到右,从上到下的顺序,正在加载的过程中,如果此时requestFocus(),的话,有可能此时还没把整个界面刷新好,导致requestFocus无效。
网上的通用方法,给editText.requestFocus()设置延时,测试有效
layChatSoftInput.postDelayed(new Runnable() {
@Override
public void run() {
layChatSoftInput.showSoftInput();
} }, 200);
本文探讨了Android中requestFocus方法在UI刷新过程中的局限性,由于刷新顺序为从左到右、从上到下,导致界面未完全刷新时调用requestFocus可能无效。文章提供了一种通过设置延时来确保EditText获得焦点的有效解决方案。

632

被折叠的 条评论
为什么被折叠?



