20、Android之RadioGroup

来源:互联网 发布:xp共享找不到网络路径 编辑:程序博客网 时间:2024/04/27 14:51
RadioGroup

在本章中将为 RadioGroup  View 创建一个活动。创建活动的步骤和前节一致。因
此会 为你 提 供三 个 主要 文 件 —AndroidManifest.xml , radiogroup.xml ,和
testRadioGroup.java。这些文件将在下面提供给你。
AndroidManifest.xml
这个部分包含当前 AndroidView  AndroidManifest.xml 的完整代码。如果你使用
Eclipse,修改活动的 AndnroidManifest.xml 文件如下:
startActivity(showButton);
}
public  void  showAutoComplete(){
Intent  autocomplete  =  new  Intent(this,  AutoComplete.class);
Chapter  8:  Lists,  Menus,  and  Other  Views  187
startActivity(autocomplete);
}
public  void  showCheckBox(){
Intent  checkbox  =  new  Intent(this,  testCheckBox.class);
startActivity(checkbox);
}
public  void  showEditText()  {
Intent  edittext  =  new  Intent(this,  testEditText.class);
startActivity(edittext);
}
}
<?xml  version="1.0"  encoding="utf-8"?>
<manifest  xmlns:android=http://schemas.android.com/apk/res/android
package="android_programmers_guide.AndroidViews">
<application  android:icon="@drawable/icon">
<activity  android:name=".AndroidViews"
android:label="@string/app_name">
<intent-filter>
<action  android:name="android.intent.action.MAIN"  />
<category  android:name="android.intent.category.LAUNCHER"  />
</intent-filter>
</activity>
<activity  android:name=".AutoComplete"  android:label="AutoComplete">
<intent-filter>103
radiogroup.xml
这个部分展示了完整的 radiogroup.xml 文件的完整代码。使用本章前节描述的
方法,在项目中创建一个名为 radiogroup.xml 的文件。
<action  android:name="android.intent.action.MAIN"  />
<category  android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity  android:name=".testButton"  android:label="TestButton">
<intent-filter>
<action  android:name="android.intent.action.MAIN"  />
<category  android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity  android:name=".testCheckBox"  android:label="TestCheckBox">
<intent-filter>
<action  android:name="android.intent.action.MAIN"  />
<category  android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity  android:name=".testEditText"  android:label="TestEditText">
<intent-filter>
<action  android:name="android.intent.action.MAIN"  />
<category  android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity  android:name=".testRadioGroup"  android:label="Test
RadioGroup">
<intent-filter>
<action  android:name="android.intent.action.MAIN"  />
<category  android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
<?xml  version="1.0"  encoding="utf-8"?>
<LinearLayout
xmlns:android=http://schemas.android.com/apk/res/android
Chapter  8:  Lists,  Menus,  and  Other  Views  191
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<RadioGroup  android:id="@+id/testRadioGroup"104
testRadioGroup.java
本部分包含执行 RadioGroup 活动最后所需的文件。在项目中创建一个名为
testRadioGroup.java 的文件。这是个活动的主要文件并且包含可执行的代码。
在 testRadioGroup.java 文件中使用下面的代码来完成文件。
android:layout_width="fill_parent"
android:layout_height="wrap_content"  >
<RadioButton
android:text="Radio  1"
android:id="@+id/radio1"
/>
<RadioButton
android:text="Radio  2"
android:id="@+id/radio2"  />
</RadioGroup>
<Button  android:id="@+id/enableButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Set  isEnabled"/>
<Button  android:id="@+id/backgroundColorButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Change  Background  Color"/>
</LinearLayout>
package  android_programmers_guide.AndroidViews;
import  android.app.Activity;
import  android.os.Bundle;
import  android.view.View;
import  android.widget.RadioGroup;
import  android.widget.Button;
import  android.graphics.Color;
public  class  testRadioGroup  extends  Activity  {
@Override
public  void  onCreate(Bundle  icicle)  {
super.onCreate(icicle);
setContentView(R.layout.radiogroup);
final  RadioGroup  radiogroup  =  (RadioGroup)
findViewById(R.id.testRadioGroup);
final  Button  changeButton  =  (Button)findViewById(R.id.enableButton);
changeButton.setOnClickListener(new  Button.OnClickListener()  {
public  void  onClick(View  v){
changeOption(radiogroup);  }
});
final  Button  changeButton2  =  (Button)105
AndroidViews.java
最后创建活动的部分是编辑 AndroidViews.java。如果你要从主要活动中呼叫
testRadioGroup 活动,你必须在 AndroidViews.java 文件中增加代码。与你当
前 AndroidViews.java 文件中的代码相比较,增加所需的代码来完成文件。
findViewById(R.id.backgroundColorButton);
changeButton2.setOnClickListener(new  Button.OnClickListener()  {
public  void  onClick(View  v){
changeOption2(radiogroup);
}
});
}
public  void  changeOption(RadioGroup  radiogroup){
if  (radiogroup.isEnabled()){
radiogroup.setEnabled(false);
}
else{
radiogroup.setEnabled(true);
}  }
public  void  changeOption2(RadioGroup  radiogroup){
radiogroup.setBackgroundColor(Color.RED);
}
}
package  android_programmers_guide.AndroidViews;
import  android.app.Activity;
import  android.os.Bundle;
import  android.view.Menu;
import  android.content.Intent;
public  class  AndroidViews  extends  Activity  {
/**  Called  when  the  Activity  is  first  created.  */
@Override
public  void  onCreate(Bundle  icicle)  {
super.onCreate(icicle);
setContentView(R.layout.main);
}
@Override
public  boolean  onCreateOptionsMenu(Menu  menu)  {
super.onCreateOptionsMenu(menu);
menu.add(0,  0,  "AutoComplete");
menu.add(0,  1,  "Button");
menu.add(0,  2,  "CheckBox");
menu.add(0,  3,  "EditText");
menu.add(0,  4,  "RadioGroup");106
menu.add(0,  5,  "Spinner");
return  true;
}
@Override
public  boolean  onOptionsItemSelected(Menu.Item  item){
switch  (item.getId())  {
case  0:
showAutoComplete();
return  true;
case  1:
showButton();
return  true;
case  2:
showCheckBox();
return  true;
case  3:
showEditText();
return  true;
case  4:
showRadioGroup();
return  true;
case  5:
showSpinner();
return  true;
}
return  true;
}
public  void  showButton()  {
Intent  showButton  =  new  Intent(this,  testButton.class);
startActivity(showButton);
Chapter  8:  Lists,  Menus,  and  Other  Views  193
194  Android:  A  Programmer’s  Guide
}
public  void  showAutoComplete(){
Intent  autocomplete  =  new  Intent(this,  AutoComplete.class);
startActivity(autocomplete);
}
public  void  showCheckBox(){
Intent  checkbox  =  new  Intent(this,  testCheckBox.class);
startActivity(checkbox);
}
public  void  showEditText()  {
Intent  edittext  =  new  Intent(this,  testEditText.class);

startActivity(edittext);


启动应用程序并从菜单中选择 RadioGroup 选项。

试着点击 Set  isEnabled 和 Change  BackGroud  Color 按钮。注意 Set  isEnabled
按钮把 RadioGroup 设为不可用,而 Change  Backgroud  Color 按钮改变组的背景
色。

原创粉丝点击