zoukankan      html  css  js  c++  java
  • 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

      <?xml version="1.0" encoding="utf-8"?>
      <resources>
        <string name="content">这里是安卓开发联盟协议,如果您同意此协议请点击...</string>
        <string name="app_name">CheckBoxDemo</string>
      </resources>

      运行效果如下 

      

      

      

  • 相关阅读:
    主流开源深度学习框架对比分析
    机器学习资源汇总----来自于tensorflow中文社区
    Caffe fine-tuning 微调网络
    最牛逼的开源机器学习框架,你知道几个
    基于OpenCL的深度学习工具:AMD MLP及其使用详解
    写作是这个时代最好的自我投资
    nanoporetech/nanonet
    nanonets
    有道添加词典
    一道算法
  • 原文地址:https://www.cnblogs.com/menglin2010/p/2276008.html
Copyright © 2011-2022 走看看