Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在延迟时间后激活(打开键盘)编辑文本?_Java_Android_Keyboard_Android Edittext - Fatal编程技术网

Java 如何在延迟时间后激活(打开键盘)编辑文本?

Java 如何在延迟时间后激活(打开键盘)编辑文本?,java,android,keyboard,android-edittext,Java,Android,Keyboard,Android Edittext,我有一个编辑文本和一个倒计时。通常情况下,如果您使用EditText启动活动,EditText将被激活并显示键盘。但我希望活动开始,计时器下降,然后键盘自动显示。 我该怎么做 new CountDownTimer(5000, 1000) { public void onTick(long millisUntilFinished) { //Do Something } public void onFinish() {

我有一个编辑文本和一个倒计时。通常情况下,如果您使用EditText启动活动,EditText将被激活并显示键盘。但我希望活动开始,计时器下降,然后键盘自动显示。 我该怎么做

new CountDownTimer(5000, 1000) {

         public void onTick(long millisUntilFinished) {
          //Do Something
         }

         public void onFinish() {
             //Keyboard pop up
         }
        }.start();
我建议使用具有postDelayed。。。方法,并在指定的延迟时间后打开键盘:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    final EditText et= (EditText) findViewById(R.id.editText1);
    Handler h = new Handler();

    h.postDelayed(new Runnable() {
        @Override
        public void run() {
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);
        }

    }, 5000); // delay in milliseconds
}
这将在您所需的延迟时间后打开键盘

这里是my.xml文件:请注意标记

我建议使用具有postDelayed。。。方法,并在指定的延迟时间后打开键盘:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    final EditText et= (EditText) findViewById(R.id.editText1);
    Handler h = new Handler();

    h.postDelayed(new Runnable() {
        @Override
        public void run() {
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);
        }

    }, 5000); // delay in milliseconds
}
这将在您所需的延迟时间后打开键盘

这里是my.xml文件:请注意标记


如果我错了,你们希望当活动开始时,你们不想聚焦编辑文本,在定时器停止后,你们想显示键盘。所以你们能做的是当活动加载使你们编辑文本聚焦为假,在定时器任务后使其聚焦为真,并请求对你们的编辑文本进行聚焦。若我错了,让我错,你们希望当活动开始时你们不想聚焦编辑文本,在定时器停止后,你们想显示键盘。所以你们能做的是当活动加载使你们编辑文本聚焦为false,在定时器任务后使其聚焦为true,并请求对你们的编辑文本聚焦。这两种方法对我都不起作用。什么也没出现。或者它必须是final EditText?它必须是final或成员变量,否则它在run方法中不可见。仍然没有显示任何内容。我首先要在onCreate中删除焦点还是禁用EditText?我在onCreate方法中也有Runnable,可以吗?是的,可以,给我一点时间,我自己试试这两个都不适合我。什么也没出现。或者它必须是final EditText?它必须是final或成员变量,否则它在run方法中不可见。仍然没有显示任何内容。我首先要在onCreate中删除焦点还是禁用EditText?我在onCreate方法中也有Runnable,可以吗?是的,可以,给我一点时间,我自己试试