当前位置: 代码迷 >> Android >> Android开发从入门到精通(八) _9
  详细解决方案

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

热度:14   发布时间:2016-05-01 20:17:45.0
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

  相关解决方案