在我的应用程序中,我有一个EditText和一个按钮。当我按下按钮时,在EditText中输入的文本被取为字符串,并进一步用于AsyncTask。在按钮的onClick方法中,我设置了et.setFocusable(false)
,以便用户不应该在AsyncTask期间更改文本。在onPostExecute()
法中我又把它改成了et.setFocusable(true)
。由于一些未知的原因,我能够从EditText禁用焦点,但无法在AsyncTask完成后重新获得它。bt.setEnabled(false)
也不工作。如有任何帮助,我将不胜感激。
没有发布完整的代码,因为我认为这不是很必要。
et.setFocusable(true)并不能解决你的问题。你需要设置setFocusableInTouchMode为true。代码
et.setFocusable(true);
et.setFocusableInTouchMode(true);
et.requestFocus();
以获取更多信息。查看此链接:如何在将可聚焦设置为false后将其设置为true ?