Android Spinner 下拉列表
Spinner 组件的简单使用
Spinner 有两种使用方式:
第一种是在res下的values下的Strings文件XML 中添加 :
<string-array name="color">
<item>red</item>
<item>yellow</item>
<item>blue</item>
</string-array>
然后 在layout文件中 Spinner中添加entries属性即可
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/color"/>
第二种是 使用适配器给Spinner 适配数据,具体代码如下:
package com.example.spinnertest; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; public class MainActivity extends Activity { private Spinner mSpinner; private TextView mTextView; private ArrayAdapter<String> adapter; private String[] color; private ArrayList<String> allColor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 在xml 中添加Spinner 组件后, 获得组件对象 mSpinner = (Spinner) findViewById(R.id.spinner1); mTextView = (TextView) findViewById(R.id.textView1); //设置数据源 color =new String []{"红色","黄色","蓝色","绿色","白色","黑色"}; allColor = new ArrayList<String>(); for(int i=0;i<color.length;i++){ allColor.add(color[i]); } //设置适配器 new ArrayAdapter对象并将allColor传入 adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item,allColor); //给Spinner组件添加适配器 mSpinner.setAdapter(adapter); //注册监听事件 mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override//被选择 事件 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { mTextView.setText("选择:"+color[position]); } @Override// 未选中 public void onNothingSelected(AdapterView<?> parent) { // do something } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }