`
bk_lin
  • 浏览: 321389 次
社区版块
存档分类
最新评论

Android开发从入门到精通(8) _8

阅读更多

 

RadioGroup 第八章(8)

在本章中将为RadioGroup View创建一个活动。创建活动的步骤和前节一致。因此会为你提供三个主要文件—AndroidManifest.xml,radiogroup.xml,和 testRadioGroup.java。这些文件将在下面提供给你。

AndroidManifest.xml 
这个部分包含当前AndroidView AndroidManifest.xml的完整代码。如果你使用Eclipse,修改活动的AndnroidManifest.xml文件如下:

<?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> 
<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>

radiogroup.xml 
这个部分展示了完整的radiogroup.xml文件的完整代码。使用本章前节描述的方法,在项目中创建一个名为radiogroup.xml的文件。

<?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" 
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>

testRadioGroup.java 
本部分包含执行RadioGroup活动最后所需的文件。在项目中创建一个名为testRadioGroup.java的文件。这是个活动的主要文件并且包含可执行的代码。在testRadioGroup.java文件中使用下面的代码来完成文件。

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) 
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); 

}


AndroidViews.java 
最后创建活动的部分是编辑AndroidViews.java。如果你要从主要活动中呼叫testRadioGroup活动,你必须在AndroidViews.java文件中增加代码。与你当前AndroidViews.java文件中的代码相比较,增加所需的代码来完成文件。

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"); 
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); 

public void showRadioGroup(){ 
Intent radiogroup = new Intent(this, testRadioGroup.class); 
startActivity(radiogroup); 

public void showSpinner(){ 

}

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

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

更多信息请查看 http://www.javady.com/index.php/category/thread

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics