我在Android Studio中有一个空白活动,并且已经执行了以下说明,但是在运行该程序时它不起作用。
将名称onClick分配给Button的android:onClick属性。
在Main_Activity文件中实现以下方法:
public void onClick (View view) {
Toast.makeText(this, "Button 1 pressed", Toast.LENGTH_LONG).show();
}
当我尝试运行此命令时,出现如下错误:
答案 0 :(得分:0)
1)在您的Xml文件中,活动设置了具有指定函数名称的按钮的onClick属性 android:onClick:“ onClick”
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:onClick="onButtonClick"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
2)之后,将相同的函数放入您的活动中,但具有这样的参数 公开无效的onClick(查看视图)
public void onButtonClick(View view){
Toast.makeText(this, "Button 1 pressed", Toast.LENGTH_LONG).show();
}
3)当您单击按钮时,提供的方法将被调用
注意:函数名称可以是访问说明符,但返回类型和参数必须相同。
答案 1 :(得分:0)
Button yourButton = (Button)findViewById(R.id.your_button_id)
yourButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(this, "Button 1 pressed", Toast.LENGTH_LONG).show();
}
});
请尝试使用Java。
答案 2 :(得分:0)
使用XML属性android:onClick
来触发点击事件。只需要两个步骤:
1。将android:onClick
分配给这样的按钮:
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click me!"
android:onClick="btnClicked" />
2在活动中,定义一个名为btnClicked的函数,如下所示:
public void btnClicked(View v) {
Log.d("MR.bool", "Button1 was clicked ");
}
注意:请勿仅在上述两个步骤上方将这种方式与setOnClickListener
混合使用。