Android中Spinner的使用方法

本文介绍了如何在Android应用中创建自定义ArrayAdapter和监听器来实现下拉菜单功能,包括从字符串数组创建Adapter、动态创建Adapter、设置Adapter样式和监听项选择变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)在布局文件中的声明
    <Spinner
    android:id="@+id/spinnerld"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
(2)在String.xml当中声明一个数组
    <String-array name="planets_array">
    <item>Mercury</item>
    <item>Venus</item>
    </String-array>
(3)创建一个ArrayAdapter
    public void onCreate(Bundle savedInstanceState) {
    
    super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Spinner spinner = (Spinner) findViewById(R.id.spinner);
       创建下拉菜单的样式
    
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.planets_array, android.R.layout.simple_spinner_item);
        定义soinner中每个条目的样式
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        设置spinner对象(通过设置赋值给spinner对象)
        spinner.setAdapter(adapter);
        setPrompt("设置下拉菜单的标题")
    }
(3)创建一个监听器
    public class MyOnItemSelectedListener implements OnItemSelectedListener {
    
    public void onItemSelected(AdapterView<?> parent,
            View view, int pos, long id) {
         Toast.makeText(parent.getContext()), "The planet is " +
              parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
       }

   
    public void onNothingSelected(AdapterView parent) {
          // Do nothing.
       }
    }
(4)在Oncreat方法中注册监听器
     spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
ArrayAdapter的另一种用法
    除了从可以使用strings.xml文件当中的数组创建ArrayAdapter之外,还可以动态的创建 ArrayAdapter
    List<String>list = new ArrayList<String>();
    list.add("test1");
    lsit.add("test2“);
    ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewld,list);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值