preview
利用Spinner实现下拉列表
exercise
layout下
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="35sp"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
Activity下
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
private TextView textView;
private Spinner spinner;
private List<String>list;
private ArrayAdapter<String>arrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
spinner = (Spinner) findViewById(R.id.spinner);
textView.setText("您选择的城市是北京");
//1.设置数据源
list=new ArrayList<String>();
list.add("北京");
list.add("上海");
list.add("广州");
list.add("深圳");
//2.新建数组适配器ArrayAdapter,这里的样式是未点击Spinner时候的样式
arrayAdapter = new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item, list);
//3.adaper设置一个下拉列表样式,这里的样式是点击Spinner时候下拉的样式
arrayAdapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
//4.spinner加载适配器
spinner.setAdapter(arrayAdapter);
//5.spinner设置一个监听器
spinner.setOnItemSelectedListener(this);
}
//i代表position,l代表id
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String cityName=arrayAdapter.getItem(i);//获取点击时的所点击的城市名字
///String cityName2=list.get(i);也能达到同样的效果
textView.setText("您选择的城市是"+cityName);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
}