Spinner列表选择框

Spinner首先它是一个弹出式的列表选择框,由于间接继承了ViewGroup,所以它可以当做一个容器使用; 如果我们可以明确下拉列表中的列表项, 则可以不需要编写代码, 只需要为spinner指定android:entries属性即可. 该属性使用数组资源

此外spinner另外一个常用属性: android:prompt用于设置该列表选择框的提示

1.明确指定弹出框内容 -- 在res/values/创建array.xml 用于指定弹出框内容

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="books">
        <item>java技术大全</item>
        <item>javaweb技术大全</item>
        <item>javascript技术大全</item>
    </string-array>
</resources>
<Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:entries="@array/books" />

2.可以通过适配器来定义spinner弹出列表要显示什么形式的数据

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.spriner);

        Spinner sp = (Spinner) findViewById(R.id.sp);
        
        sp.setAdapter(new MyAdapter());
    }
    
    class MyAdapter extends BaseAdapter{

        @Override
        public int getCount() {
            return 5;
        }

        @Override
        public Object getItem(int position) {
            return position;
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            TextView tv = new TextView(MainActivity.this);
            tv.setText("java-->"+position);
            tv.setTextColor(Color.RED);
            return tv;
        }
        
    }
}

getView()方法决定spinner列表框的每个列表项内容,该方法返回什么View对象,每个列表项就显示什么;

 

 

posted @ 2013-06-17 09:05  半夜点烟  阅读(578)  评论(0)    收藏  举报