目录
按钮三大步骤
1.根据id获取按钮的点击事件
2.给获取到的事件设置监听
3.处理点击事件
处理点击事件有三种方式
3.1.内部类
3.2匿名内部类
3.3实现onClickListener接口
Android的后台提示
Java单选框和复选框
单选框的点击事件
单选框的动态取值
复选框
获取复选框的选择
获取单选框,复选框,文本框和按钮的结合使用
按钮三大步骤
1.根据id获取按钮的点击事件
//获取点击事件
Button btn_paizhao = findViewById(R.id.btn_paizhao);
Button btn_getphoto = findViewById(R.id.getphoto);
Button btn_select = findViewById(R.id.select);
2.给获取到的事件设置监听
//给获取到的事件设置监听
btn_paizhao.setOnClickListener(this);
btn_getphoto.setOnClickListener(this);
btn_select.setOnClickListener(this);
3.处理点击事件
处理点击事件有三种方式
3.1.内部类
内部类一般用在单个按钮,代码量较多的时候
public class MainActivity5 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
Button btn_text = findViewById(R.id.btn_text);
btn_text.setOnClickListener(btn_click);
}
private View.OnClickListener btn_click=new View.OnClickListener() {
@Override
public void onClick(View view) {
}
};}
3.2匿名内部类
匿名内部类一般用在单个按钮,代码量较少的时候;
public class MainActivity5 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
Button btn_text =findViewById(R.id.btn_text);
//使用匿名内部类
btn_text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
}
3.3实现onClickListener接口
实现接口一般用在按钮比较多的情况下
public class MainActivity5 extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
Button btn_text = findViewById(R.id.btn_text);
btn_text.setOnClickListener(this);
}
@Override
public void onClick(View view) {
}
}
Android的后台提示
//在控制台输出,在android中依然是可用的,但是不建议使用
System.out.println("hello world");
后台提示,主要是给开发人员使用
// 第一个参数 需要填写字符串 标签
// 第二个参数 需要填写字符串 输出内容
Log.i("登录操作","登录成功");
前台提示,主要是给用户使用
Toast.makeText(MainActivity.this, "登录登录", Toast.LENGTH_SHORT).show();
Java单选框和复选框
单选框的独立存在: 主要用在同意协议等
单选框一般情况下都是多个出现:比如性别,必须跟RadioGroup结合使用
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
orientation="vertical">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="男"></RadioButton>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"></RadioButton>
</RadioGroup>
单选框的点击事件
和按钮一样也是需要获取点击三大步骤,但是按钮是实现onClickListener接口
但是单选框是实现的onCheckedChangeListener() 的接口;
单选框分为动态取值和静态取值
单选框的动态取值
//获取控件
RadioGroup rg_sex = findViewById(R.id.rg_sex);
rg_sex.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
RadioButton rb = findViewById(i);
String sex = rb.getText().toString();
Toast.makeText(MainActivity3.this, "您的性别是"+sex, Toast.LENGTH_SHORT).show();
}
});
单选框的静态取值
//单选框的静态取值
RadioButton rb_man = findViewById(R.id.rb_man);
RadioButton rb_woman = findViewById(R.id.rb_women);
String sex;
if (rb_man.isChecked()){
sex=rb_man.getText().toString();
}else {
sex=rb_woman.getText().toString();
}
复选框
<TextView
android:layout_marginTop="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="以下哪款手机使用的安卓系统(多选)"/>
<CheckBox
android:id="@+id/cb_xiaomi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="小米"/>
<CheckBox
android:id="@+id/cb_apple"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="苹果"/>
<CheckBox
android:id="@+id/cb_vivo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="vivo"/>
<CheckBox
android:id="@+id/cb_oppo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="oppo"/>
获取复选框的选择
CheckBox cb_xiaomi = findViewById(R.id.cb_xiaomi);
CheckBox cb_apple = findViewById(R.id.cb_apple);
CheckBox cb_vivo = findViewById(R.id.cb_vivo);
CheckBox cb_oppo = findViewById(R.id.cb_oppo);
cb_xiaomi.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
String choie=compoundButton.getText().toString();
Toast.makeText(MainActivity3.this, choie, Toast.LENGTH_SHORT).show();
}
}
});
cb_apple.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
String choie=compoundButton.getText().toString();
Toast.makeText(MainActivity3.this, choie, Toast.LENGTH_SHORT).show();
}
}
});
cb_vivo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
String choie=compoundButton.getText().toString();
Toast.makeText(MainActivity3.this, choie, Toast.LENGTH_SHORT).show();
}
}
});
cb_oppo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
String choie=compoundButton.getText().toString();
Toast.makeText(MainActivity3.this, choie, Toast.LENGTH_SHORT).show();
}
}
});
获取单选框,复选框,文本框和按钮的结合使用
public class OperationActivity2 extends AppCompatActivity implements View.OnClickListener {
Button btn_login;
CheckBox cb_yes;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_operation2);
//获取控件
btn_login=findViewById(R.id.btn_login);
cb_yes=findViewById(R.id.cb_yes);
btn_login.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (cb_yes.isChecked()){
//如果勾选了同意按钮就获取输入框
EditText et_name = findViewById(R.id.et_name);
EditText et_pwd = findViewById(R.id.et_pwd);
EditText et_email = findViewById(R.id.et_email);
String name = et_name.getText().toString();
String pwd = et_pwd.getText().toString();
String email = et_email.getText().toString();
Toast.makeText(OperationActivity2.this, "您完成了注册,您的账号是"+name+"您的密码是"+pwd+"您的邮箱是"+email, Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(OperationActivity2.this, "请先勾选同意按钮", Toast.LENGTH_SHORT).show();
}
}
}