Android开发

3、Android高级控件的使用:

Spinner的使用方法:

使用ArrayAdapter

  1. // 初始化控件
  2. Spinner spinner = (Spinner) findViewById(R.id.spinner1);
  3. // 建立数据源
  4. String[] mItems = getResources().getStringArray(R.array.languages);
  5. // 建立Adapter并且绑定数据源
  6. ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mItems);
  7. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  8. //绑定 Adapter到控件
  9. spinner .setAdapter(adapter);
  10. spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
  11.     @Override
  12.     public void onItemSelected(AdapterView<?> parent, View view, 
  13.             int pos, long id) {
  14.    
  15.         String[] languages = getResources().getStringArray(R.array.languages);
  16.         Toast.makeText(MainActivity.this, "你点击的是:"+languages[pos], 2000).show();
  17.     }
  18.     @Override
  19.     public void onNothingSelected(AdapterView<?> parent) {
  20.         // Another interface callback
  21.     }
  22. });

这是Spinner的标准使用方法,其中,有两行代码可以决定Spinner的外观:

1

  1. ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mItems);

第二个参数是Spinner未展开菜单时Spinner的默认样式,android.R.layout.simple_spinner_item是系统自带的内置布局。

2

  1. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

设置的是展开的时候下拉菜单的样式(注意和上面区别),同理android.R.layout.simple_spinner_dropdown_item也是内置布局。

如果不设置adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)会怎样呢?

会造成未展开的sipnner和展开的菜单都是一种布局样式。下面一运行截图来说明:

没有adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item):

QQ图片20150105161936.jpg

有setDropDownViewResource:

QQ图片20150105162135.jpg

你可能会很好奇如果设置了setDropDownViewResource但是setDropDownViewResource的参数和ArrayAdapter的第二个布局参数(simple_spinner_item)一致的情况下会怎样。情况是和没有setDropDownViewResource是一样的,因为上面说了不设置setDropDownViewResource Spinner未展开和展开都是用的一样的布局。

其实simple_spinner_item和simple_spinner_dropdown_item两者的名字正好反映了他们的区别。一个应用于下拉一个应用于Spinner本身。

 

posted @ 2022-04-28 10:21  萧贾jzm  阅读(16)  评论(0编辑  收藏  举报
//歌单id