Android UI控件-Spinner(下拉列表)

来源:互联网 发布:mysql删除表数据 编辑:程序博客网 时间:2024/05/17 22:09
packagecom.example.widgets;
 
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.view.View;
importandroid.widget.AdapterView;
importandroid.widget.AdapterView.OnItemSelectedListener;
importandroid.widget.ArrayAdapter;
importandroid.widget.Spinner;
importandroid.widget.Toast;
 
publicclass MainActivity extendsActivity {
    privateSpinner spinner;
 
    @Override
    protectedvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spinner = (Spinner) findViewById(R.id.spinner);
        // 定义一个字符串数组来存储下拉框每个item要显示的文本
        finalString[] items = { "血型""A型""B型""AB型""O型"};
        // 定义数组适配器,利用系统布局文件
        ArrayAdapter<String> adapter = newArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, items);
        // 定义下拉框的样式
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        // 下面的可以直接用适配器添加item(需要把数组适配器最后一个参数去掉)
        // adapter.add("java");
        // adapter.add("android");
        // adapter.add("dotnet");
        // adapter.add("php");
 
        // 设置下拉列表的条目被选择监听器
        spinner.setOnItemSelectedListener(newOnItemSelectedListener() {
 
            @Override
            publicvoid onItemSelected(AdapterView<?> arg0, View arg1,
                    intarg2, longarg3) {
                Toast.makeText(MainActivity.this, items[arg2], 0).show();
 
                // 注意: 这句话的作用是当下拉列表刚显示出来的时候,数组中第0个文本不会显示Toast
                // 如果没有这句话,当下拉列表刚显示出来的时候,数组中第0个文本会显示Toast
                // arg0.setVisibility(View.VISIBLE);
            }
 
            @Override
            publicvoid onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub
 
            }
        });
         
        spinner.setAdapter(adapter);
    }
 
}
2 0