转载请注明本文来自“柳大的CSDN博客”:http://blog.csdn.net/Poechant
1、RadioBox与RadioGroup
在《Android开发之道(5)Widget、Activity与Intent》一文中已经初步接触到了 RadioBox 的使用方式,并且知道了在 Widget 的容纳关系中 RadioGroup 是使用 RadioBox 时必不可省的容器。由于本篇博文不作深入的 Widget 使用详解或者源码分析,而仅是熟悉 Android 中都有哪些常用 Widget,所以这里不再赘述了 : )
2、CheckBox
CheckBox 与 RadioBox 的区别就是可以复选。下面是一个实例:
final TextView textView = (TextView) findViewById(R.id.textView);
final CheckBox[] checkBoxes = {
(CheckBox) findViewById(R.id.checkBox01),
(CheckBox) findViewById(R.id.checkBox02),
(CheckBox) findViewById(R.id.checkBox03),
(CheckBox) findViewById(R.id.checkBox04),
(CheckBox) findViewById(R.id.checkBox05),
(CheckBox) findViewById(R.id.checkBox06),
(CheckBox) findViewById(R.id.checkBox07),
(CheckBox) findViewById(R.id.checkBox08),
(CheckBox) findViewById(R.id.checkBox09)
};
for (final CheckBox checkBox : checkBoxes) {
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
textView.setText("You have chose " + checkBox.getText() +".");
}
});
}
其中 checkBox01 到 checkBox09 都被定义在布局文件中。通过一个循环体为每个 CheckBox 创建事件监听器。这样在每选择一个选项时,上面的 textView 中会立刻显示。下面是程序启动后的画面。
选择了选项“Korea”后,注意观察上面 textView 发生了什么变化没有?
3、Spinner
Spinner 就是一个下拉列表。下面用实例来说明如何创建一个 Spinner,并且在选择其某一项后,将该项显示在 TextView 中。
public class Testextends Activity {
private staticfinal String[] countries =new String[] {
"Argentina","Australia", "Brazil","Canada", "China","China Hongkong",
"China Macau","China Taiwan", "Egypt","Finland", "France",
"Germany","India", "Japan","Korea", "South Africa","Russia", "UK","US"
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Get widgets by Ids
final TextView textView = (TextView) findViewById(R.id.textView);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an adapter filled with countries array for the spinner
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_item, countries);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Combine the adapter with the spinner
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView> arg0, View arg1,
int arg2, long arg3) {
textView.setText("I'm in " + countries[arg2] + " now.");
arg0.setVisibility(View.VISIBLE);
}
@Override
public void onNothingSelected(AdapterView> arg0) {
// TODO Auto-generated method stub
}
});
}
}
上文中先创建一个 ArrayAdapter 类型,是因为 countries 是一个字符串数组。然后将下拉列表 spinner 的 adapter 设置为它。然后为它添加 OnItemSelectedListener 监听器,其中 Override onItemSelected 方法和 onNothingSelected 方法。程序启动后首先看到的是:
这几个与选项有关的 Widget 先初识到这里 : )
转载请注明本文来自“柳大的CSDN博客”:http://blog.csdn.net/Poechant
-