Spinner的学习
Spinner相当于web开发中的下拉框,在Android可以通过XML或new 关键字来添加Spinner。
1.XML配置Spinner
有两种情况:1>有单独的XMl文件,文件中添加下拉框的数据
<Spinner android:prompt="身份证" //可选的 指定可选框的标题
android:entries="@array/数组的名字" //可选的,可以通过程序中编写,见2>
android:........../>
array.xml <?xml version="1.0" encoding="utf-8"?>
<resource>
<string-array name="xxx">
<item>身份证</item>
..........
<item>军官证</item>
</string-array>
</resource>
获取到: final Spinner spinner = (Spinner) findViewById(R.id.xx);
spinner.getSelectedItem();
为spinner添加事件
spinner.setOnItemSelectedListener(new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
String result = parent.getItemAtPosition(arg2).toString();
Toast.makeText(MainActivity.this, "你选择了"+result, Toast.LENGTH_SHORT).show();
Log.i("Spinner示例",result);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
2> 在程序中写数组
final String [] array = new String[]{"身份证","军官证"};
//创建Adapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,array);
//将适配器与选择框关联
spinner.setAdapter(adapter);
提示:此时 String result = parent.getItemAtPosition(arg2).toString();就会出错,因为此时result是数组的索引,所以应该为:long index = parent.getItemAtPosition(arg2); String result = array[(int)index];
2.其他方法积累:
组件的隐藏和显示: 比如button: button.setVisibility(View.GONE);//隐藏
button.setVisibility(View.VISIBLE);//显示