Android 基本控件的使用二(注册许可协议)(CheckBox)

需要注意的是:按钮部分,在复选框选中之前是显示不可点击状态,一旦被选中之后就会变成可点击按钮。

为复选框设置的监听为:setOnCheckedChangeListener


实现的方法有两种:

方法一:在 activity_main.xml 中 <Button    /> 中 设置  android:enabled="false"

       在 MainActivity.java 中的代码为: submit.setEnabled(isCheckd);

方法二:在 MainActivity.java 中 直接判断,当点了复选框的时候,是点击的;没点是不可点击的

//  agree 是复选框的名称

if(agree.isChecked()){
选中 
submit.setEnabled(true);
}else {
submit.setEnabled(false);
}
   



activity_main.xml

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity">


    <TextView

        android:id="@+id/textView1"

        android:layout_width="match_parent"

        android:layout_height="200dp"

        android:text="@string/hello_world"/>


    <CheckBox

        android:id="@+id/cb_agree"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignLeft="@+id/textView1"

        android:layout_below="@+id/textView1"

        android:text="我同意以上协议"/>


    <Button

        android:id="@+id/btn_sumbit"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_alignLeft="@+id/cb_agree"

        android:layout_below="@+id/cb_agree"

        android:enabled="false"

        android:text="注册"/>


</RelativeLayout>


MainActivity.java

package cn.sohpia.andoird;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;


public class MainActivity extends Activity implements OnCheckedChangeListener{
// 声明控件
private CheckBox agree;
private Button submit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化控件
initViews();
// 为复选框控件设置监听
agree.setOnCheckedChangeListener(this);
}
/**
* 初始化控件
*/
private void initViews() {
agree = (CheckBox) findViewById(R.id.cb_agree);
submit = (Button) findViewById(R.id.btn_sumbit);
}
/**
* 为控件设置监听
*/
@Override
public void onCheckedChanged(CompoundButton btn, boolean isCheckd) {
// 判断复选框是否选中
// 如果 在xml 中没有设置 android:enable=flase:则需要些以下代码
// if(agree.isChecked()){
// 选中 
// submit.setEnabled(true);
// }else {
// submit.setEnabled(false);
//}
submit.setEnabled(isCheckd);
}





}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值