按钮的主要作用就是触发一个动作,所以会用到监听器。
如何为按钮添加单机事件监听器:
1.匿名内部类作为单机事件监听器
案例:
首先在.xml文件中添加一个按钮一,然后设置其id属性,然后在main里获取按钮id,并添加动作监听
.xml文件
android:id="@ id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮一"
/>
MainActivity.java
package com.example.myapplication2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;public classMainActivity extends AppCompatActivity {
@Overrideprotected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=findViewById(R.id.button1);
button.setOnClickListener(newView.OnClickListener() {
@Overridepublic voidonClick(View view) {
Toast.makeText(MainActivity.this,"单机了按钮一",Toast.LENGTH_SHORT).show();
}
});
}
}
2.通过onClick 属性实现
(1)在Activity的java代码中编写一个包含View类型参数的方法。
public voidmyClick(View view)
{//编写要执行的动作代码
}
(2)将android:onClick属性指定为步骤(1)中的方法名。
android:onClick="myClick" //无括号
案列:
.xml文件
android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="按钮二"android:onClick="myClick"
/>
MainActivity.java
package com.example.myapplication2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;public classMainActivity extends AppCompatActivity {
@Overrideprotected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}public voidmyClick(View view){
Toast.makeText(MainActivity.this,"单机了按钮二",Toast.LENGTH_SHORT).show();
}
}