在layout中的 activity_main.xml添加
<Spinner
android:id="@+id/sp"android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/city"
/>
在values中新建文件array.xml
<string-array name="city">
<item>北京</item>
<item>重庆</item>
<item>上海</item>
</string-array>
public class MainActivity extends Activity { /** * 点击按钮将下拉框中的内容变成了颜色 */ private String[] color = {"红色","蓝色","黄色"} ; private TextView tv ; private Spinner sp ; private boolean flag = false ; //默认就是城市 private String[] city ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.tv) ; sp = (Spinner) findViewById(R.id.sp ) ; //拿到在xml文件中定义的数组 final String[] citys = getResources().getStringArray(R.array.city) ; city = citys ; sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { if(flag){ Toast.makeText(MainActivity.this, "你点击的是:" + color[position], 0).show() ; }else{ Toast.makeText(MainActivity.this, "你点击的是:" + citys[position], 0).show() ; } } @Override public void onNothingSelected(AdapterView<?> parent) { } }) ; } public void click(View view){ //1.改变文本 tv.setText("你喜欢那种颜色") ; //2.改变下拉框的内容 /** * 1.上下文对象 2.显示的样式 3.数据 */ sp.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, color)) ; flag = true ; } public void add(View view){ List<String> list = new ArrayList<String>(Arrays.asList(city)) ; list.add("深圳") ; sp.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, list)) ; } ; }