天天看点

Android开发:同意协议CheckBox的使用

我们在注册为某一个网站会员时,以前貌似都要同意一些协议才能注册成功,在手机应用里也是一样的,我们同样需要签署一些协议才能进行下一步动作。

  下面这个应用是当我们勾选“我同意”后,文字内容会变,同时”确定“按钮可以点击,否则”确定“按钮是不能点击,也就是说不能进行下一步动作。

  实现步骤

  一:布局文件编写

1.1:布局文件main.xml

<?xml version="1.0" encoding="utf-8"?>

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

      android:orientation="vertical"

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      >

<TextView  

       android:layout_width="fill_parent" 

       android:layout_height="wrap_content" 

       android:text="@string/content"

       android:id="@+id/tv"

     />

    <CheckBox 

         android:layout_width="wrap_content"   

         android:layout_height="wrap_content" 

         android:text="我同意" 

         android:id="@+id/checkbox"

    />  

   <Button

     android:layout_width="wrap_content"

     android:layout_height="wrap_content"

     android:text="确定"

     android:id="@+id/btn1"

    />

</LinearLayout>

  二:代码文件编写

  2. 1:MainActivity.java

package com.menglin.checkbox;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.TextView;

public class MianActivity extends Activity

{

//声明一个Button对象

private Button mybtn = null;

 //声明一个TextView 对象

private TextView mytv = null;

//声明一个CheckBox 对象

private CheckBox mycheckBox = null;

@Override

public void onCreate(Bundle savedInstanceState)

        super.onCreate(savedInstanceState);

 //加载main.xml布局文件

        setContentView(R.layout.main);

        //以findViewById()方法取得Button对象

mybtn = (Button)findViewById(R.id.btn1);

        //以findViewById()方法取得TextView对象

        mytv = (TextView)findViewById(R.id.tv);

        //以findViewById()方法取得CheckBox对象

        mycheckBox = (CheckBox)findViewById(R.id.checkbox);

        //给CheckBox对象绑定单击监听事件

        mycheckBox.setOnClickListener(listener);

        //将CheckBox默认设置为未选择状态

        mycheckBox.setChecked(false);

        //将Button默认设置为未启用状态

        mybtn.setEnabled(false);

}

 //监听事件

private OnClickListener listener = new OnClickListener()

      @Override

      public void onClick(View v)

      {

         //如果CheckBox选中的话

         if(mycheckBox.isChecked())

         {

            //将Button设置为启用状态

            mybtn.setEnabled(true);

            //设置TextView呈现的内容

            mytv.setText("您已完整阅读该协议并且同意");

         }

         else 

            //将Button默认设置为未启用状态

            mybtn.setEnabled(false);

            //设置TextView呈现的内容

            mytv.setText(R.string.content);

      }

};

  三:常量文件

 string.xml

<resources>

    <string name="content">这里是安卓开发联盟协议,如果您同意此协议请点击...</string>

    <string name="app_name">CheckBoxDemo</string>

</resources>

  运行效果如下

  

 

本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/736036,如需转载请自行联系原作者

继续阅读