目录
1. Button按钮的点击事件
1. 内部类
2. 匿名内部类
3. 实现onClickListener接口
2.提示
3.单选框 RadioButton
复选框 CheckBox
综合使用
1. Button按钮的点击事件
1. 内部类
单个按钮,代码量较多的时候
代码案例
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button but_login=findViewById(R.id.but_login);
but_login.setOnClickListener(but_click);
}
private View.OnClickListener but_click = new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("btn点击事件","but_login按钮被点击");
Toast.makeText(MainActivity.this,"功能尚未完成,正在开发中",Toast.LENGTH_SHORT).show();
}
};
2. 匿名内部类
单个按钮,并且代码量较少的时候
代码案例
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button but_login=findViewById(R.id.but_login);
but_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("btu点击事件","but_login按钮被点击");
Toast.makeText(MainActivity.this,"功能尚未升级,正在开发中",Toast.LENGTH_SHORT).show();
}
});
}
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 but_1=findViewById(R.id.but_1);
Button but_2=findViewById(R.id.but_2);
Button but_3=findViewById(R.id.but_3);
but_1.setOnClickListener(this);
but_2.setOnClickListener(this);
but_3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v.getId()==R.id.but_1){
Toast.makeText(MainActivity5.this,"按钮1已被点击",Toast.LENGTH_SHORT).show();
}else if(v.getId()==R.id.but_2){
Toast.makeText(MainActivity5.this,"按钮2已被点击",Toast.LENGTH_SHORT).show();
}else if(v.getId()==R.id.but_3) {
Toast.makeText(MainActivity5.this, "按钮3已被点击", Toast.LENGTH_SHORT).show();
}
}
}
2.提示
1.在控制台输出
在android中依然是可用的,但是不建议使用
System.out.println("hello world");
2.后台提示
主要是给开发人员使用
第一个参数 需要填写字符串 标签
第二个参数 需要填写字符串 输出内容
Log.i("登录操作","登录成功");
3.前台提示
主要是给用户使用
Toast.makeText(MainActivity.this, "登录登录", Toast.LENGTH_SHORT).show();
3.单选框 RadioButton
1.单选框的独立存在: 主要用在同意协议等
2.单选框的点击事件(点击事件用在什么地方?)
单选框的点击事件是设置在RadioGroup上
onCheckedChangeListener()
3..单选框一般情况下都是多个出现:比如性别,必须跟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>
代码案例
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
RadioGroup radioGroup = findViewById(R.id.rgp_gender);
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
RadioButton radioButton=findViewById(i);
Toast.makeText(getApplicationContext(),"按钮组值发生了改变,你选了"+radioButton.getText(),Toast.LENGTH_SHORT).show();
}
});
}
复选框 CheckBox
1.复选框的独立使用:主要用于 同意协议
2.复选框的多个使用:多选
3.复选框的点击事件:
复选框的点击事件是设置在checkbox上
onCheckedChangeListener()
代码案例
前台页面代码
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请选择下面手机是安卓系统的(多选)" />
<CheckBox
android:id="@+id/xiaomi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="小米" />
<CheckBox
android:id="@+id/pingguo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="苹果" />
<CheckBox
android:id="@+id/huawei"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="华为" />
<CheckBox
android:id="@+id/oppo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="oppo" />
后台java代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
CheckBox xiaomi=findViewById(R.id.xiaomi);
CheckBox huawei=findViewById(R.id.huawei);
CheckBox pingguo=findViewById(R.id.pingguo);
CheckBox oppo=findViewById(R.id.oppo);
xiaomi.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
String choice = compoundButton.getText().toString();
Toast.makeText(MainActivity4.this,choice,Toast.LENGTH_SHORT).show();
}
}
});
huawei.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
String choice = compoundButton.getText().toString();
Toast.makeText(MainActivity4.this,choice,Toast.LENGTH_SHORT).show();
}
}
});
pingguo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
String choice = compoundButton.getText().toString();
Toast.makeText(MainActivity4.this,choice,Toast.LENGTH_SHORT).show();
}
}
});
oppo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b){
String choice = compoundButton.getText().toString();
Toast.makeText(MainActivity4.this,choice,Toast.LENGTH_SHORT).show();
}
}
});
}
综合使用
如何取值 getText().toString();
代码案例
1.前台页面代码
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="账号:" />
<EditText
android:id="@+id/ad_zh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="number" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="密码:" />
<EditText
android:id="@+id/ad_mi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="textPassword" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView6"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="密码重复:" />
<EditText
android:id="@+id/ad_fu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10"
android:inputType="textPassword" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_marginTop="7dp"
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别:" />
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/re_man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男" />
<RadioButton
android:layout_marginStart="20dp"
android:id="@+id/re_women"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>
</LinearLayout>
<CheckBox
android:layout_marginTop="150dp"
android:id="@+id/cb_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="你的年龄是否成年" />
<CheckBox
android:id="@+id/cb_ac"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请阅读并勾选协议" />
<Button
android:id="@+id/but_logins"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录" />
后台Java代码
public class MainActivity6 extends AppCompatActivity {
private CheckBox cb_ac;
private CheckBox cb_ab;
private Button but_logins;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main6);
cb_ac=findViewById(R.id.cb_ac);
cb_ab=findViewById(R.id.cb_ad);
but_logins=findViewById(R.id.but_logins);
but_logins.setOnClickListener(but_click);
}
protected View.OnClickListener but_click = new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean flag=cb_ab.isChecked();
boolean flai=cb_ac.isChecked();
if (flag&& flai){
EditText ad_zh=findViewById(R.id.ad_zh);
EditText ad_mi=findViewById(R.id.ad_mi);
EditText ad_fu=findViewById(R.id.ad_fu);
String repwd=ad_fu.getText().toString();
String pwd=ad_mi.getText().toString();
String phonenum=ad_zh.getText().toString();
RadioButton re_man=findViewById(R.id.re_man);
RadioButton re_woman=findViewById(R.id.re_women);
String sex="";
if (re_man.isChecked()){
sex=re_man.getText().toString();
}else {
sex=re_woman.getText().toString();
}
Toast.makeText(MainActivity6.this, "电话号码是:"+phonenum+",密码是:"+pwd+"," +
"第二次输入的密码是:"+repwd+",性别是:"+sex, Toast.LENGTH_LONG).show();
}else {
Toast.makeText(MainActivity6.this,"请勾选协议",Toast.LENGTH_SHORT).show();
}
}
};
}
实现图