onClick事件不适用于Android空白活动

时间:2018-09-27 23:34:50

标签: android android-studio onclick onclicklistener main-activity

我在Android Studio中有一个空白活动,并且已经执行了以下说明,但是在运行该程序时它不起作用。

  1. 选择按钮,然后在右侧查找“属性/属性”面板。
  2. 将名称onClick分配给Button的android:onClick属性。

  3. 在Main_Activity文件中实现以下方法:

public void onClick (View view) { Toast.makeText(this, "Button 1 pressed", Toast.LENGTH_LONG).show(); } 当我尝试运行此命令时,出现如下错误:

  • 期待成员声明
  • 函数声明必须具有名称

3 个答案:

答案 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混合使用。