Android学习之常用控件(1)

                                                                                           Android控件学习之RadioGroup,RadioButton,CheckBox

       学习安卓编程,首先要学习其基本的相关控件,下面我就把我学习的点滴知识在此形成博客,以作为一种学习笔记来记录自己安卓的学习过程,我学习的参考视频为max老师的视频教程,大家有兴趣可以看看他的视频。

通过我在IT方面的学习经验,我发现纯粹的看书式的理论学习总是让人力不从心,所以在我的学习中,我希望能以程序来引导自己的学习过程,因为我觉得用再多再优美再形象的辞藻去描述一个物体,不如让一个人亲自去看看来的感受更具体和直观,因此在学习中,我希望自己多用例程来进行学习,以记录每一个学习的过程。

第一篇我们就来了解一下RadioGroup,RadioButton,CheckBox这三个控件的用法,我们要实现的功能界面如下:


        这个界面很直观和简单,就是一个二选一的按钮和一个可复选的框,主要的的功能当然就是选择,然后进行相关的操作了,我们可以通过System.out.println函数来打印我们的选择结果,下面我们就来看看我们的程序。

首选让我们看看我的布局文件,它是一个xml文件,有关xml的编程规范大家可以自行查阅,在此就多做介绍了。在这个布局中,我们采用的是最简单的线性布局(LinearLayout),在这个线性布局中首选表明其中包含控件为垂直排列,然后就是其中添加的控件了,有一个TextView,就是上图中的第一行的显示内容,有一个RadioGroup,其中包含两个RadioButton,作为一个二选一的Radio,后面还有三个CheckBox,整个布局就这样,一些程序设计语句规则我们可以查阅帮助文档来了解。

<?xmlversion="1.0"encoding="utf-8"?>

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

      android:orientation="vertical"

      android:layout_width="fill_parent"

      android:layout_height="fill_parent"

      >

    <TextView

        android:id="@+id/titleView"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/titleview"

        />     

    <RadioGroup

        android:id="@+id/radioGroup"

        android:orientation="vertical"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"       

        >    

        <RadioButton

            android:id="@+id/maleRadioButton"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="@string/male"         

            />

        <RadioButton

            android:id="@+id/femaleRadioButton"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="@string/female"

            />      

     </RadioGroup>

    

     <CheckBox

         android:id="@+id/swimCheckBox"

         android:layout_width="wrap_content"

         android:layout_height="wrap_content"

         android:text="@string/swim"

         />

     <CheckBox

         android:id="@+id/runCheckBox"

         android:layout_width="wrap_content"

         android:layout_height="wrap_content"

         android:text="@string/run"

         />

     <CheckBox

         android:id="@+id/readCheckBox"

         android:layout_width="wrap_content"

         android:layout_height="wrap_content"

         android:text="@string/read"

         />

 </LinearLayout>

        下面就来看看我们的源文件部分程序,也就是.java文件的程序,这些程序语句也都不算太难理解,无非就是获取相关的控件ID,然后对其设置监听器,然后进行相关的操作,可能有点难理解的就是其中的内部类了,不过了解过java的人,应该还是很好理解内部类的,而且随着编程时日的积累,这些知识我们会经常遇到。

 raGroup = (RadioGroup)findViewById(R.id.radioGroup);

        maleButton = (RadioButton)findViewById(R.id.maleRadioButton);

        femaleButton = (RadioButton)findViewById(R.id.femaleRadioButton);

        swimBox  =(CheckBox)findViewById(R.id.swimCheckBox);

        runBox   =(CheckBox)findViewById(R.id.runCheckBox);

        readBox  =(CheckBox)findViewById(R.id.readCheckBox);

       

        raGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()

          {

        @Override

        public void onCheckedChanged(RadioGroup arg0, int button_id)

         {

           // TODO Auto-generated method stub

            if(femaleButton.getId() == button_id)

               {

                    System.out.println("female is checked");

                    Toast.makeText(MainActivity.this,"female",Toast.LENGTH_SHORT).show();          

               }

            else if(maleButton.getId() == button_id)

               {

                    System.out.println("male is checked");

                     Toast.makeText(MainActivity.this,"male",Toast.LENGTH_SHORT).show();

               }        

         }

        });

       

          swimBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()

            {

          

           @Override

           public void onCheckedChanged(CompoundButton arg0, boolean isChecked)

            {

              // TODO Auto-generated method stub

              if(isChecked)

               {

                  System.out.println("swim is checked");                

               }

             else

               {

                   System.out.println("swim is not checked");

               }                   

            }

          });

          runBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()

            {       

          @Override

          public void onCheckedChanged(CompoundButton arg0, boolean isChecked)

            {

               // TODO Auto-generated method stub

                if(isChecked)

                   {

                     System.out.println("run is checked");              

                   }

                else

                   {

                      System.out.println("run is not checked");

                   }        

            }

         });

   

          readBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()

            {    

          @Override

          public void onCheckedChanged(CompoundButton arg0, boolean isChecked)

           {

           // TODO Auto-generated method stub

            if(isChecked)

               {

                  System.out.println("read is checked");    

               }

             else

               {

                   System.out.println("read is not checked");

               }     

           }

         });                        

     }

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值