【问题标题】:Select EditText programmatically in Android在 Android 中以编程方式选择 EditText
【发布时间】:2013-12-26 16:54:57
【问题描述】:

我是 Android 新手,无法以编程方式选择 EditText。 我的情景。 我有很多EditText,但只有一个是启用的,我称之为A。用户用键盘写在这个EditTextA;当他写完后,启动一个算法来识别A 中的文本并将其放入右侧EditText,例如B。之后我需要清空A 并将焦点设置在它上面,在A 中显示光标并显示键盘。

我会尝试使用myET.requestFocus(),但没有任何反应。

如何让A 再次可编辑,而无需用户触摸A

谢谢

【问题讨论】:

  • 考虑在this 问题中接受的答案。希望对您有所帮助。

标签: android focus android-edittext


【解决方案1】:

试试这个

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            myET.requestFocus();
        }
    }, 100);

【讨论】:

    【解决方案2】:

    为了在不按下 TextEdit 的情况下显示键盘,您必须将代码放入处理程序中并稍加延迟。它在延迟 200 毫秒时运行良好,但没有任何延迟或仅延迟 1 毫秒就失败了。

       (new Handler()).postDelayed(new Runnable() {
    
            public void run() {
                youEditText.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN , 0, 0, 0));
                youEditText.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP , 0, 0, 0));                       
    
            }
            }, 200);
    

    因此,通过这段代码,您可以模拟对 EditText 的点击。 干杯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 2013-10-26
      • 1970-01-01
      相关资源
      最近更新 更多