安卓学习第十九天:CheckBox与RadioButton

来源:互联网 发布:异星工厂物流网络 编辑:程序博客网 时间:2024/05/22 01:45

昨天因为一个原因休息一天,今天继续。

#1多选按钮checkbox的基本概念

1,在xml中使用<checkbox/>标签

2,在代码中checkbox的对象表示

3,常用onclicklisteneroncheckchangelistener的使用

 

java代码:

packagecom.myapp.yuanyang.myapplication;

 

importandroid.content.DialogInterface;

importandroid.support.v7.app.ActionBarActivity;

importandroid.os.Bundle;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.view.View;

importandroid.view.View.*;

importandroid.widget.CheckBox;

 

 

publicclassMainActivityextendsActionBarActivity{

 

privateCheckBoxeat;

privateCheckBoxsleep;

privateCheckBoxdota;

 

 

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

eat=(CheckBox)findViewById(R.id.eat);

sleep=(CheckBox)findViewById(R.id.sleep);

dota=(CheckBox)findViewById(R.id.dota);

 

OnBoxListenerlistener=newOnBoxListener();

eat.setOnClickListener(listener);

sleep.setOnClickListener(listener);

dota.setOnClickListener(listener);

}

 

classOnBoxListenerimplementsOnClickListener{

publicvoidonClick(Viewargs0){

System.out.println("CheckBoxischecked");

}

}

 

 

@Override

publicbooleanonCreateOptionsMenu(Menumenu){

//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.

getMenuInflater().inflate(R.menu.menu_main,menu);

returntrue;

}

 

@Override

publicbooleanonOptionsItemSelected(MenuItemitem){

//Handleactionbaritemclickshere.Theactionbarwill

//automaticallyhandleclicksontheHome/Upbutton,solong

//asyouspecifyaparentactivityinAndroidManifest.xml.

intid=item.getItemId();

 

//noinspectionSimplifiableIfStatement

if(id==R.id.action_settings){

returntrue;

}

 

returnsuper.onOptionsItemSelected(item);

}

 

}

xml设置:

<LinearLayoutxmlns: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:orientation="vertical"

tools:context=".MainActivity"

>

<CheckBox

android:id="@+id/eat"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="eat"

/>box

<CheckBox

android:id="@+id/sleep"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="sleep"

/>

<CheckBox

android:id="@+id/dota"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="dota"

/>

 

</LinearLayout>

效果图:

 

 

 

//OnClickListener的使用方法

classOnBoxListenerimplementsOnClickListener{

 

publicvoidonClick(Viewargs0){

CheckBoxbox=(CheckBox)args0;

if(args0.getId()==R.id.eat){

System.out.println("eat");

}

elseif(args0.getId()==R.id.sleep){

System.out.println("sleep");

}

elseif(args0.getId()==R.id.dota){

System.out.println("dota");

}

if(box.isChecked()){

System.out.println("checked");

}

else{

System.out.println("unchecked");

}

System.out.println("CheckBoxischecked");

}

}

 

#2单选按钮RadioButton

单选按钮是分组的,一组选择一个。RadioGroup当中添加RadioButton

1xml文件<RadioButton/><RadioGroup/>

2,代码:RadioButton&RadioGroup

3,常用的OnClickListenerOnCheckedChangeListener监听器

 

java代码:

packagecom.android.cris.radiobutton;

 

importandroid.provider.MediaStore;

importandroid.support.v7.app.ActionBarActivity;

importandroid.os.Bundle;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.widget.RadioButton;

importandroid.widget.RadioGroup;

 

 

publicclassMainActivityextendsActionBarActivity{

 

 

privateRadioGroupradio;

privateRadioButtonfemalebutton;

privateRadioButtonmalebutton;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

radio=(RadioGroup)findViewById(R.id.radio);

femalebutton=(RadioButton)findViewById(R.id.female);

malebutton=(RadioButton)findViewById(R.id.male);

 

RadioGroupListenerlistener=newRadioGroupListener();

radio.setOnCheckedChangeListener(listener);

}

 

classRadioGroupListenerimplementsRadioGroup.OnCheckedChangeListener{

@Override

publicvoidonCheckedChanged(RadioGroupgroup,intcheckedId){

if(checkedId==femalebutton.getId()){

System.out.println("checkedfemale");

 

}

elseif(checkedId==malebutton.getId()){

System.out.println("checkedmale");

}

}

}

 

@Override

publicbooleanonCreateOptionsMenu(Menumenu){

//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.

getMenuInflater().inflate(R.menu.menu_main,menu);

returntrue;

}

 

@Override

publicbooleanonOptionsItemSelected(MenuItemitem){

//Handleactionbaritemclickshere.Theactionbarwill

//automaticallyhandleclicksontheHome/Upbutton,solong

//asyouspecifyaparentactivityinAndroidManifest.xml.

intid=item.getItemId();

 

//noinspectionSimplifiableIfStatement

if(id==R.id.action_settings){

returntrue;

}

 

returnsuper.onOptionsItemSelected(item);

}

}

 

xml代码:

<LinearLayoutxmlns: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:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

android:paddingBottom="@dimen/activity_vertical_margin"

android:orientation="vertical"

tools:context=".MainActivity">

 

<RadioGroup

android:id="@+id/radio"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

 

<RadioButton

android:id="@+id/female"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="female"

/>

<RadioButton

android:id="@+id/male"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="male"

/>

 

</RadioGroup>

 

</LinearLayout>

效果

 

0 0
原创粉丝点击