Android控件之Spinner,android控件之spinner
Spinner类似于combobox,下拉菜单。用于数据显示。用法总结如下:如果单一选取android内置的xml文件来显示spinner,就不需要重新定义。以上图,第一幅是使用android内置的drop_down_item,后者是自定义的下拉显示方式。第一种:adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_i..
Spinner类似于combobox,下拉菜单。用于数据显示。用法总结如下:
如果单一选取android内置的xml文件来显示spinner,就不需要重新定义。
以上图,第一幅是使用android内置的drop_down_item,后者是自定义的下拉显示方式。
第一种:
adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, str);
adapter.setDropDownViewResource(R.layout.my_dropdown);
spinner.setAdapter(adapter);
ArrayAdapter的构造函数中,有三个参数:上下文;下拉菜单样式;菜单条目内容,而setDropDownViewResource()方法,定义了点开以后,菜单中每一行显示的样子。
接下来,要相应点击事件,也就是:setOnItemSelectedListener(),其中回调函数为:onItemSelected(AdapterView> parent, View view,int position, long id).
他们的意义是://parent 发生选中事件的 AbsListView.
//view AbsListView 中被选中的视图.
//position 视图在一览中的位置(索引).
//id 被点击条目的行 ID.
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
@Override
//parent 发生选中事件的 AbsListView.
//view AbsListView 中被选中的视图.
//position 视图在一览中的位置(索引).
//id 被点击条目的行 ID.
public void onItemSelected(AdapterView> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), str[arg2], Toast.LENGTH_LONG).show();
arg0.setVisibility(View.VISIBLE);
}
@Override
public void onNothingSelected(AdapterView> arg0) {
// TODO Auto-generated method stub
}
});而若要自行定义spinner样子,则会有如下xml:
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="30dip"
android:singleLine="true"
style="?android:attr/spinnerDropDownItemStyle" />
更多推荐
所有评论(0)