spinner

被MP3的lrc部分整残了。。。放弃了。。。

 

看了下spinner的代码,终于能觉得比较简单了

下拉菜单,两种实现方法。

第一种:

1.在strings.xml中,增加一个string-array

<string-array name="planets_array">
  <item>Mercury</item>
  <item>Venus</item>
  <item>Earth</item>
  <item>Mars</item>
  <item>Jupiter</item>
  <item>Saturn</item>
  <item>Uranus</item>
  <item>Neptune</item>

2.在main.xml中添加spinner对象

<Spinner
 android:id="@+id/spinnerId"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 />

3.通过createFromResource方法创建一个ArrayAdapter对象

第一个参数是指上下文对象,第二个参数引用了在strings.xml文件当中定义的string数组,第三个参数是用来指定Spinner的样式,是一个布局文件ID,该布局文件由Android系统提供,也可替换为自己定义的布局文件

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item);
//设置Spinner当中每一个条目的样式,同样是引用一个Android系统提供的布局文件
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(adapter);
spinner.setPrompt("test");
//为spinner对象绑定监听器
spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());

4.监听器,用来监听用户选择列表的动作,复写两个方法onItemSelected和onNothingSelected

onItemSelected中

//当用户选定了一个条目时,就会调用该方法
//参数1,整个列表 ;  参数2,选中的那个项;参数3,选中那项的位置;参数4,选中那项的ID
String selected = adapterView.getItemAtPosition(position).toString();

onNothingSelected中,没什么具体操作。

 

spinner

 

第二种:

1.新建一个item.xml文件

<TextView
    android:id="@+id/textViewId"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
</TextView>

2.新建一个List<String>对象,加入项

List<String> list = new ArrayList<String>();
list.add("small gui");
list.add("small wan");
//调用ArryaAdapter的构造函数来构建ArrayAdapter对象
//第一个参数是上下文对象,第二个参数是指定了下拉菜单当中每一个条目的样式,第三个参数制定了TextView控件的ID,第四个参数为整个列表提供数据
ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewId,list);

 spinner.setAdapter(adapter);
 spinner.setPrompt("test");
 //为spinner对象绑定监听器
 spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());

监听器的代码不变。

 

spinner

代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值