Spinner控件

  首先在XML文件中声明一个Spinner控件:

    <Spinner
      android:id="@+id/spinnerId"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" />
  静态绑定Spinner对象中的内容:

            首先在strings.xml中声明一个string-array:

      <string-array name="playlist">
        <item >see you again</item>
        <item >lighteststart</item>
        <item >father</item>
        <item >时间都去哪啦</item>
      </string-array>

    在MainActivity中代码如下:

      spinner = (Spinner)findViewById(R.id.spinnerId);
      ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.playlist, android.R.layout.simple_spinner_item);
      //设置Spinner当中每个条目的模式
      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
      spinner.setAdapter(adapter);
      //设置标题
      spinner.setPrompt("歌曲列表");

  动态绑定Spinner对象中的内容:

    List<String> list = new ArrayList<String>();
    list.add("text1");
    list.add("text2");

            //item.xml中指定了下拉菜单中的样式,第三个参数指定了textView控件的ID,list为指定的数据,可以为任何类型
    ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewid,list);
    spinner.setAdapter(adapter);
    //设置标题
    spinner.setPrompt("歌曲列表");

  通过设置监听器,监听当前用户点击的spinner控件中的哪个条目:

    spinner.setOnItemSelectedListener((OnItemSelectedListener) new SpinnerItemClickListener());

    class SpinnerItemClickListener implements OnItemClickListener{

      @Override
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
          // arg0为点击的Spinner对象,arg1为item对象,arg2为position,arg3为ID
          arg0.getItemAtPosition(arg2).toString();
      }

    }

posted @ 2015-08-11 20:40  best.lei  阅读(389)  评论(0编辑  收藏  举报