歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android開發教程:Spinner和AutoCompleteTextView淺析

Android開發教程:Spinner和AutoCompleteTextView淺析

日期:2017/3/1 10:36:41   编辑:Linux編程
一.Spinner的簡介與創建

1.Spinner的簡介

Spinner(下拉列表)是一個每次只能選擇所有項中一項的控件,相當於Html中的下拉列表框。它的繼承關系如下:
java.lang.Object
↳ Android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView<T extends android.widget.Adapter>
↳ android.widget.AbsSpinner
↳ android.widget.Spinner

Spinner常用的XML屬性:

屬性名稱

描述

android:prompt

該提示在下拉列表對話框顯示時顯示。(譯者注:對話框的標題:

650) this.width=650;">

2.創建使用Spinner的步驟如下:

①需要在布局中定時Spinner組件,然後向Spinner添加需要選擇的數據

②設置事件監聽器setOnItemSelectedListener( )並實現onItemSelected( )

3.Spinner添加數據的兩種方法:

①在Java代碼中載入列表數據

具體的例子如下:

MainActivity.java

  1. package com.android.spinner;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.AdapterView;
  6. import android.widget.ArrayAdapter;
  7. import android.widget.Spinner;
  8. import android.widget.TextView;
  9. public class MainActivity extends Activity {
  10. private static final String[] province={"廣東","廣西","湖南","河南","福建"};
  11. private TextView text;
  12. private Spinner spinner;
  13. private ArrayAdapter<String> adapter;
  14. @Override
  15. public void onCreate(Bundle savedInstanceState) {
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.main);
  18. text=(TextView)findViewById(R.id.text);
  19. spinner=(Spinner)findViewById(R.id.spinner);
  20. //將Spinner裡面的可選擇內容通過ArrayAdapter連接起來
  21. adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,province);
  22. //設置Spinner的樣式
  23. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  24. //為對話框設置標題
  25. //也可在XMl文件中通過“android:prompt”設置
  26. spinner.setPrompt("你來自哪個省");
  27. //為Spinner設置適配器
  28. spinner.setAdapter(adapter);
  29. //添加Spinner事件監聽
  30. spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
  31. @Override
  32. public void onItemSelected(AdapterView<?> arg0, View arg1,
  33. int arg2, long arg3) {
  34. // TODO Auto-generated method stub
  35. text.setText("你所在的城市是:"+province[arg2]);
  36. //設置顯示當前選擇的項
  37. arg0.setVisibility(View.VISIBLE);
  38. }
  39. @Override
  40. public void onNothingSelected(AdapterView<?> arg0) {
  41. // TODO Auto-generated method stub
  42. }
  43. });
  44. }
  45. }
Copyright © Linux教程網 All Rights Reserved