Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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
Android 在打开活动窗口的几秒钟内触发按钮按下_Android_Android Studio_Android Intent_Android Edittext_Onclicklistener - Fatal编程技术网

Android 在打开活动窗口的几秒钟内触发按钮按下

Android 在打开活动窗口的几秒钟内触发按钮按下,android,android-studio,android-intent,android-edittext,onclicklistener,Android,Android Studio,Android Intent,Android Edittext,Onclicklistener,在我的android应用程序中,是否有一种简单的方法可以在打开窗口/活动的1秒内自动按下按钮 目前,我需要按下“bVoice”按钮,使用b.setOnClickListenerthis启动语音识别。我希望在打开特定窗口/活动的1秒内自动按下按钮,而不是按下按钮 有没有一个简单的方法来实现这一点?以下是我的代码的一部分: public class MainActivity extends AppCompatActivity implements View.OnClickListener { Li

在我的android应用程序中,是否有一种简单的方法可以在打开窗口/活动的1秒内自动按下按钮

目前,我需要按下“bVoice”按钮,使用b.setOnClickListenerthis启动语音识别。我希望在打开特定窗口/活动的1秒内自动按下按钮,而不是按下按钮

有没有一个简单的方法来实现这一点?以下是我的代码的一部分:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

ListView lv;
static final int check = 1111;
Button b;
EditText a;
Button c;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    lv = (ListView) findViewById(R.id.lvVoiceReturn);
    a = (EditText) findViewById(R.id.TFusername);
    b = (Button) findViewById(R.id.bVoice);
    c = (Button)findViewById(R.id.Blogin);

    b.setOnClickListener(this);
}

public void onButtonClick(View v) {
    if (v.getId() == R.id.Blogin) {
        String str = a.getText().toString();


        //Go to the relevant page if any part of the phrase or word entered in the 'EditText' field contains 'next' which is not case sensitive
        if (str.toLowerCase().contains("next")) {
            Intent userintent = new Intent(MainActivity.this, Display_1.class);
            startActivity(userintent);
        } else if (str.toLowerCase().contains("heart")) {
            Intent userintent = new Intent(MainActivity.this, Display_2.class);
            startActivity(userintent);
        } else {
            Toast.makeText(getApplicationContext(), "Incorrect Information", Toast.LENGTH_SHORT).show();
        }
    }
}

在onCreate中设置onClickListener后,请直接执行此操作

 new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
              b.callOnClick();
            }
        }, 1000);

不知道为什么不编写方法而不是触发单击。

在onCreate中设置onClickListener后,请将此问题澄清

 new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
              b.callOnClick();
            }
        }, 1000);

不知道为什么不只是编写一个方法,而不是触发一次单击。

只需简单的解决方案在设置onClickedListener后在onCreate中添加下面的代码


请参阅有关设置onClickedListener后在onCreate中添加以下代码的简单解决方案的详细信息


有关“为什么要单击按钮?”的详细信息,请参见??您可以直接在onCreateSo中检查该条件,而不是在setonclicklistener中。我应该编写b.onCreate?为什么要单击按钮??您可以直接在onCreateSo中检查该条件,而不是在setonclicklistener中,我应该编写b.onCreate?我使用单击的唯一原因是因为这是我目前知道的唯一使用的方法,我将如何实现一个方法,因为这将使我从这个额外的步骤中解脱出来我使用单击的唯一原因是因为这是我目前知道的唯一使用的方法,我将如何实现一个方法,因为这将使我从这个额外的步骤中解脱出来
new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
              b.callOnClick();// from API 15
              or 
              b.performClick()// from API 1
            }
        }, 1000);