时间 : 2013/1/14
好久没写了,继续开始,坚持。
一,SpinnerView 组件
ListView用一个长列表来展示items,当你没有这么多位置去展示items的时候,就该用spinnerview了。
1.定义SpinnerVIew -- 也是像其他组件一样,在活动的xml文件里面加入标签来定义。
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true" />
当然,这个spinner现在也没选项,跟之前的一样,可以在string.xml里面定义字符数组,然后在活动的java文件里面动态读取:
presidents= getResources().getStringArray(R.array.presidents_array);
Spinner s1=(Spinner)findViewById(R.id.spinner1);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,
presidents);
s1.setAdapter(adapter);
上述方法从string.xml中读取一个presidents数组,是预先设置好的,然后将这个数组传入ArrayAdapter,再将adapter传入spinnerVIew即可。
Spinnerview的事件和其他的控件也类似。传入一个实现该接口的类即可:(这里是onItemSelected事件,传入的类实现的是OnItemSelectedListener接口)
传入的类实现了onItemSelected和onNothingSelected方法,在Spinnerview的项目被选中的时候会用toast来显示该项目的值。
s1.setOnItemSelectedListener(new OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> arg0,
View arg1,int arg2,long arg3)
{
int index =arg0.getSelectedItemPosition();
Toast.makeText(getBaseContext(), "You have selected item : "+presidents[index], Toast.LENGTH_SHORT).show();
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
);
传入的类实现了onItemSelected和onNothingSelected方法,在Spinnerview的项目被选中的时候会用toast来显示该项目的值。
同样,也可以将每个string字符串都显示为一个Radiobutton:
ArrayAdapter<String> adapter = new