Adapter之spinner
前言:
在写代码当中有时候会用到下拉列表,下面我们讲一下spinner
正文:
因为比较简单,和之前的listView很像,所以直接上代码
1 <Spinner 2 android:layout_width="match_parent" 3 android:layout_height="wrap_content" 4 android:id="@+id/spinner"> 5 6 </Spinner> 7 <TextView 8 android:layout_width="wrap_content" 9 android:layout_height="wrap_content" 10 android:text="苏州" 11 android:textSize="20sp" 12 android:id="@+id/textview" 13 android:layout_below="@+id/spinner" 14 android:layout_centerHorizontal="true" 15 android:layout_marginTop="155dp" />
TextView是为了当你选择一个城市时会显示你所选择的城市,如:
下面来Java代码:
1 package com.example.administrator.testmyadapter; 2 3 import android.support.v7.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.view.LayoutInflater; 6 import android.view.View; 7 import android.view.ViewGroup; 8 import android.widget.AdapterView; 9 import android.widget.ArrayAdapter; 10 import android.widget.BaseAdapter; 11 import android.widget.ListView; 12 import android.widget.Spinner; 13 import android.widget.TextView; 14 15 import java.util.ArrayList; 16 import java.util.List; 17 18 public class MainActivity extends AppCompatActivity { 19 private Spinner spinner; 20 private List<String> list; 21 private ArrayAdapter<String> myAdapter; 22 private TextView textView; 23 24 @Override 25 protected void onCreate(Bundle savedInstanceState) { 26 super.onCreate(savedInstanceState); 27 setContentView(R.layout.activity_main); 28 spinner = (Spinner) findViewById(R.id.spinner); 29 textView = (TextView) findViewById(R.id.textview); 30 list = new ArrayList<String>(); 31 list.add("苏州"); 32 list.add("南京"); 33 list.add("广州"); 34 list.add("南昌"); 35 list.add("深圳"); 36 list.add("无锡"); 37 list.add("上海"); 38 list.add("天津"); 39 list.add("重庆"); 40 list.add("成都"); 41 list.add("宁波"); 42 43 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 44 @Override 45 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 46 textView.setText(list.get(position)); 47 } 48 49 @Override 50 public void onNothingSelected(AdapterView<?> parent) { 51 52 } 53 }); 54 myAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list); 55 spinner.setAdapter(myAdapter); 56 } 57 58 }
初始化的东西简单就不说,下面讲一下之前没讲过的监听器,spinner设置监听器(setOnItemSelectedListener),用内部类方法,并且让重写方法onItemSelected方法实现把选择的城市添加到textView中,第46行代码即可