Android Studio基础单选按钮RadioButton 您所在的位置:网站首页 如何在文本框中输入数字和文字并排 Android Studio基础单选按钮RadioButton

Android Studio基础单选按钮RadioButton

2024-07-14 20:35| 来源: 网络整理| 查看: 265

Android Studio基础单选按钮RadioButton

1、单选按钮RadioButton:多个只能选择一个,必须结合RadioGroup控件使用,才能实现单选的特性。

第一种情况:没有结合RadioGroup控件使用,默认垂直布局

第二种情况:结合RadioGroup控件平行布局

第三种情况:结合RadioGroup控件垂直布局

运行app的效果

2、单选按钮的使用切换事件

第一步:在项目的布局文件中增加ID值

第二步:到MainActivity.java文件中绑定布局的切换按钮事件ID值,并添加相应的事件。

package com.xwb.btn1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioGroup; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_btn);//设置的布局界面 //final:变量(一般为常量,即值不可以被修改);类(不能被继承,俗称太监类);方法(不能被重写) //EditText et_01中的et_01为MainActivity.java的变量值,来绑定布局中R.id.et_01 final EditText et_01 = findViewById(R.id.et_01); final EditText et_02 = findViewById(R.id.et_02); final EditText et_03 = findViewById(R.id.et_03); btn2 = findViewById(R.id.btn2); //匿名内部类 btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.i("MainActivity","匿名内部类被点击"); Log.i("et_01",et_01.getText().toString());//log信息打印出来。log.i只能打印string Log.i("et_02",et_02.getText().toString()); Log.i("et_03",et_03.getText().toString()); } }); RadioGroup reg_gender = findViewById(R.id.rg_gender); //添加切换事件,也可以添加点击事件 reg_gender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { } }); } //点击事件方法,注意public void 方法名(View v),当中方法名与v可以自定义 public void login(View v) { Log.i("MainActivity","按钮被点击"); } //定义匿名内部类按钮事件的属性 private Button btn2; }

划红线框内此时使用默认的方式,相识于匿名内部类的方式。

 

这边换一种使用接口方式添加。步骤如下:

第1步:选中框内内容全部剪切掉,复制出接口RadioGroup.OnCheckedChangeListener

第2步:1)转到类public class MainActivity extends AppCompatActivity 的后面进行粘贴implements RadioGroup.OnCheckedChangeListener

第3步:类中导入接口后,使接口实现抽象的方法

第4步:把该接口添加到监听当中

第5步:编写抽象接口方式中内容

package com.xwb.btn1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioGroup; public class MainActivity extends AppCompatActivity implements RadioGroup.OnCheckedChangeListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_btn);//设置的布局界面 //final:变量(一般为常量,即值不可以被修改);类(不能被继承,俗称太监类);方法(不能被重写) //EditText et_01中的et_01为MainActivity.java的变量值,来绑定布局中R.id.et_01 final EditText et_01 = findViewById(R.id.et_01); final EditText et_02 = findViewById(R.id.et_02); final EditText et_03 = findViewById(R.id.et_03); btn2 = findViewById(R.id.btn2); //匿名内部类 btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.i("MainActivity","匿名内部类被点击"); Log.i("et_01",et_01.getText().toString());//log信息打印出来。log.i只能打印string Log.i("et_02",et_02.getText().toString()); Log.i("et_03",et_03.getText().toString()); } }); RadioGroup reg_gender = findViewById(R.id.rg_gender); //添加切换事件,也可以添加点击事件 reg_gender.setOnCheckedChangeListener(this); } //点击事件方法,注意public void 方法名(View v),当中方法名与v可以自定义 public void login(View v) { Log.i("MainActivity","按钮被点击"); } //定义匿名内部类按钮事件的属性 private Button btn2; @Override public void onCheckedChanged(RadioGroup group, int checkedId) { //checkedId为选中的按钮 switch (checkedId) { case R.id.rb_male: Log.i("onCheckedChanged","男"); break; case R.id.rb_female: Log.i("onCheckedChanged","女"); break; } } }

第三步:运行APP的效果,在logcat中可以看到点击男或女时有记录信息。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有