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

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

阅读更多

 

Spinner 第八章(9)

在本节中将为Spinner View创建一个活动。Spinner View和其它编程语言里的ComboBox相类似。创建这个活动的步骤和前面部分的一样。因此,还是会提供给你三个主要活动的代码文件—AndroidManifest.xml, spinner.xml, 
和 testSpinner.java。下面就是这些提供的文件。

AndroidManifest.xml

本节包含当前AndroidViews的AndroidManifest.xml文件的完整代码。如果你使用Eclipse,修改活动的AndroidManifest.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> 
<activity android:name=".testSpinner" android:label="Test Spinner"> 
<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 
</activity> 
</application> 
</manifest>

spinner.xml

本节展示了spinner.xml文件的完整代码。在项目中创建一个名为spinner.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" 

<Spinner android:id="@+id/testSpinner" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
/> 
<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>


testSpinner.java

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

package android_programmers_guide.AndroidViews; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.Spinner; 
import android.widget.Button; 
import android.graphics.Color; 
198 Android: A Programmer’s Guide 
public class testSpinner extends Activity { 
@Override 
public void onCreate(Bundle icicle) { 
super.onCreate(icicle); 
setContentView(R.layout.spinner); 
final Spinner spinner = (Spinner) findViewById(R.id.testSpinner); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
android.R.layout.simple_spinner_item, Months); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter); 
final Button changeButton = (Button)findViewById(R.id.enableButton); 
changeButton.setOnClickListener(new Button.OnClickListener() { 
public void onClick(View v){ 
changeOption(spinner); } 
}); 
final Button changeButton2 = (Button) 
findViewById(R.id.backgroundColorButton); 
changeButton2.setOnClickListener(new Button.OnClickListener() { 
public void onClick(View v){ 
changeOption2(spinner); 

}); 

static final String[] Months = new String[]{ 
"January","February","March","April","May","June","July","August", 
"September","October","November","December" 
}; 
public void changeOption(Spinner spinner){ 
if (spinner.isEnabled()){ 
spinner.setEnabled(false); 

else{ 
spinner.setEnabled(true); 


public void changeOption2(Spinner spinner){ 
spinner.setBackgroundColor(Color.RED); 

}

AndroidViews.java

创建活动的最后一个步骤就是编辑AndroidViews.java。如果你要从主活动AndroidViews中呼叫testSpinner活动,你必须增加代码到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); 

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(){ 
Intent spinner = new Intent(this, testSpinner.class); 
startActivity(spinner); 

启动应用程序并从菜单中选择Spinner选项。试着点击Set isEnabled和Change Backgroud Color按钮。

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

分享到:
评论

相关推荐

    Android开发从入门到精通_android_

    《Android开发从入门到精通》是一本针对Android Studio的详细开发指南,旨在帮助初学者和有一定基础的开发者深入了解和掌握Android应用开发的核心技术。在学习Android开发的过程中,Android Studio是官方推荐的集成...

    Android开发从入门到精通

    书号:ISBN:9787894300874 Android开发从入门到精通

    Android开发从入门到精通【视频教程+课程源码】.rar

    在Android开发领域,掌握基础知识是至关重要的,而这套"Android开发从入门到精通【视频教程+课程源码】"提供了一条系统学习的路径。它不仅包括了详细的视频讲解,还有配套的源代码,旨在帮助初学者从零开始,逐步...

    Android_开发从入门到精通_IBM.pdf

    ### Android开发从入门到精通 #### 一、Android概述与平台简介 - **定义与起源**:Android是一种基于Linux V2.6内核的操作系统,最初由Andy Rubin等人于2003年创立,旨在为移动设备提供一个开放且完整的操作系统...

    android开发从入门到精通光盘源代码

    "Android开发从入门到精通光盘源代码"是一个很好的学习资源,提供了随书配套的详细代码示例,帮助开发者深入理解Android应用开发的各个环节。这里我们将围绕这个主题,深入探讨Android开发中的关键知识点。 首先,...

    Android应用开发从入门到精通-源码和课件.rar

    Android应用开发从入门到精通-源码和课件.rar

    Android网络开发从入门到精通源码_张余

    本资料"Android网络开发从入门到精通源码"由张余提供,旨在帮助开发者系统地学习并掌握Android平台上的网络编程技术。 一、Android网络基础 在Android中,我们主要通过HttpURLConnection、HttpClient(已废弃)、...

    Android开发从入门到精通.pdf

    《Android开发从入门到精通》是一本专门为Android编程新手量身打造的教程。这本书全面覆盖了Android开发的基础知识,旨在帮助读者快速掌握Android应用开发的核心技能。以下是对书中的主要知识点进行的详细解读: 1....

    [Android开发从入门到精通].扶松柏.扫描版.pdf

    从给定的文件信息来看,这是一本名为《Android开发从入门到精通》的书籍,作者为扶松柏,版本为扫描版。虽然标签部分似乎有些混乱,将本书标记为"C++经典书籍",但根据标题和描述,我们可以确定这实际上是一本关于...

    Android开发应用从入门到精通光盘

    Android开发应用从入门到精通 朱桂英 中国铁道出版社 本书循序渐进地讲解了android技术的基本知识,并通过实例直观地演示了android在各个领域中的具体应用。本书内容新颖、知识全面、讲解详细,全书分为4篇17章,第...

    Android开发从入门到精通(随书光盘)【源码】第9章

    在本资源中,我们聚焦于"Android开发从入门到精通"这一主题,特别是关于第9章的源码。这表明该压缩包包含了Android应用开发的一个关键章节的学习资料,特别是实战案例,这对于初学者和进阶者都极具价值。以下是根据...

    Android开发从入门到精通].扶松柏.扫描版

    Android开发从入门到精通是扶松柏编著的一本关于Android应用程序开发的书籍。该书面向初学者,旨在通过简洁明了的语言和生动的实例,详细介绍Android应用开发中所需掌握的各种技术。书中可能覆盖的内容包括但不限于...

    Android_开发从入门到精通_IBM.

    Android_开发从入门到精通_IBM

    Android开发从入门到精通源码

    《Android开发从入门到精通源码》是一套全面解析Android应用开发的教程,涵盖了从基础知识到高级技巧的全过程。此教程分为两个部分,第一部分包括第2至6章,第二部分涵盖第7至12章,旨在帮助初学者快速掌握Android...

    Android开发应用从入门到精通 高清版本

    本款android从入门到精通pdf是由明日科技编著,是一本android入门书籍。全书由浅入深,循序渐进,以初、中级程序员为对象,从了解Android和搭建开发环境学起,再学习Android开发的基础技术,然后学习Android开发的...

    Android开发从入门到精通-扶松柏版

    《Android开发从入门到精通-扶松柏版》这本书籍是Android开发领域中一本专门针对初学者的教程书籍。它以通俗易懂的方式介绍Android开发的基础知识,帮助读者逐步掌握如何使用Android Studio这个集成开发环境来创建和...

    Android从入门到开发案例+视频.txt

    Android开发从入门到精通第二版项目案例+视频讲解

Global site tag (gtag.js) - Google Analytics