//佈局界面用到的控件
//一個Spinner 一個Button
//一個TextViewandroid
一、在res/layout 佈局界面數組
代碼ide
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>佈局
<Spinner
android:id="@+id/sp"
android:layout_width="match_parent"
android:layout_height="60dp"
/>
<Button
android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"
android:textSize="50sp"
android:onClick="ok"/>
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40sp"
/>post
</LinearLayout>this
--------------------------xml
2在MainActivity 裏實現Spinner(下拉列表)功能對象
代碼ci
public class MainActivity extends Activity {
//聲明 下拉列表對象
private Spinner spinner;
private TextView text_content;
//用一個字符串數組來裝要放到下拉列表裏的內容
private String[] s = {"啊","啊啊","呵呵","哈哈"};
//聲明數組適配器 對象
//適配器用來 設置下拉列表的內容 還有下拉列表的類型
private ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//new一個ArrayAdapter
//第二個參數是android定義好的Spinner類型
//第三個參數是要在下拉列表中放的內容
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, s);
//找到下拉列表的id
spinner = (Spinner) this.findViewById(R.id.sp);
//設置適配器
spinner.setAdapter(adapter);
text_content = (TextView) this.findViewById(R.id.textview);
/*spinner.setOnItemSelectedListener(new OnItemSelectedListener() {資源
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position,long id) {
/*獲取下拉列表中被選中的項的4種方法
//方法1
String data1 = spinner.getSelectedItem().toString();
//方法2
String data2 = parent.getItemAtPosition(position).toString();
//方法3
String data3 = parent.getSelectedItem().toString();
//方法4
String data4 = adapter.getItem(position);*/
// TODO Auto-generated method stub
String spinner_date = spinner.getSelectedItem().toString();
text_content.setText(spinner_date);
}
/* @Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
}*/
//提交按鈕的 監聽 方法
public void ok(View view){
//用Spinner對象調用getSelectedItem方法 來獲取 下拉列表的 內容
String sp_date = spinner.getSelectedItem().toString();
//把選擇的下拉列表的內容 設置到 TextView裏
text_content.setText(sp_date);
}
}
-----------------------------------------------------------------
//有2個Spinner(下拉列表) 選中第一個Spinner裏面的數據
//第二個Spinner裏面的數據與第一個Spinner選中的數據對應
//例如:選中廣東省(第一個Spinner) 第二個Spinner裏面有廣東省
//相應的市
一、在res/layout裏 佈局界面 2個Spinner控件
代碼
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<Spinner
android:id="@+id/provice_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<Spinner
android:id="@+id/city_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
--------------------------------------
二、在MainAcitvity裏面 實現功能
代碼
public class MainActivity extends Activity {
//聲明下拉列表對象
private Spinner p_spinner;
private Spinner c_spinner;
//用字符串數組裝 要放到下拉列表的數據
private String[] provice = {"廣西","廣東","河北","河南"};
private String[][] city = {{"柳州","南寧","桂林","玉林"},
{"廣州","深圳","湛江","佛山"},{"衡水","..."},{"dd","kk"}};
//聲明數組適配器對象
private ArrayAdapter<String> c_adapter;
private ArrayAdapter<String> p_adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
p_spinner = (Spinner) this.findViewById(R.id.provice_spinner);
c_spinner = (Spinner) this.findViewById(R.id.city_spinner);
p_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, provice);
p_spinner.setAdapter(p_adapter);
//不放 資源 初始化 爲 空
c_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
c_spinner.setAdapter(c_adapter);
//設置第一個Spinner的監聽
p_spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int postion, long arg3) {
// TODO Auto-generated method stub
//清楚 前面 的 內容
c_adapter.clear();
//用city[position]來獲取城市
//用addAll方法來設置省的城市
c_adapter.addAll(city[postion]);
}
@Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); }}