我如何触发一个按钮点击事件使用代码在Android?我想在发生其他事件时以编程方式触发按钮单击。

我也面临着同样的问题

public void onDateSelectedButtonClick(View v){
    /*Something  Alarm Management 
    http://www.java2s.com/Code/Android/Core-Class/Alarmdemo.htm
    copied code from this site*/
}

按钮代码:

<Button
    android:onClick="onDateSelectedButtonClick"
    android:text="Set notification for this date" />

但我想叫那个函数OnLoadLayout而不叫OnClickEvent


当前回答

有更好的办法。

View.performClick();

http://developer.android.com/reference/android/view/View.html performClick ()

这应该能解决你所有的问题。每个视图都继承这个函数,包括按钮,旋转器等。

澄清一下,View没有静态的performClick()方法。必须在View的实例上调用performClick()。 例如,你不能只是打电话

View.performClick();

相反,你可以这样做:

View myView = findViewById(R.id.myview);
myView.performClick();

其他回答

有更好的办法。

View.performClick();

http://developer.android.com/reference/android/view/View.html performClick ()

这应该能解决你所有的问题。每个视图都继承这个函数,包括按钮,旋转器等。

澄清一下,View没有静态的performClick()方法。必须在View的实例上调用performClick()。 例如,你不能只是打电话

View.performClick();

相反,你可以这样做:

View myView = findViewById(R.id.myview);
myView.performClick();

只是为了澄清月光奶酪所说的: 在Android中通过代码触发按钮点击事件 提供以下资料:

buttonName.performClick();

根据我的经验,Android的callOnClick()(在API 15中添加)有时比performClick()是更好的选择。如果用户启用了选择声音,那么performClick()可能会导致用户听到两种连续的选择声音,这两种声音在某种程度上叠加在一起,可能会不和谐。(一种选择声音用于用户第一次点击按钮,另一种声音用于你通过代码调用的另一个按钮的OnClickListener。)

如果不使用sender参数,为什么不将按钮处理程序实现重构为单独的函数,并从您想要的任何地方(从按钮处理程序和其他地方)调用它。

无论如何,这是一个更好和更干净的设计-一个需要在按钮处理程序上调用的代码,从其他一些地方值得重构到自己的功能。此外,它还可以帮助您将UI处理与应用程序逻辑代码分开。您还将为函数起一个好听的名字,而不仅仅是onDateSelectedButtonClick()。

只需写这一行简单的代码:-

button.performClick();

其中button是button类的引用变量,定义如下:-

private Button buttonToday ;
buttonToday = (Button) findViewById(R.id.buttonToday);

就是这样。