android基礎入門控制項詳解(5)

來源:互聯網
上載者:User

一.Spinner(下拉式清單):

編碼實現:先要在布局檔案中定義Spinner組件,然後將可選內容通過ArrayApadter和下拉式清單串連起來,最後要獲得使用者選擇選項,要設計事件監聽setOnItemSelectedListener並實現其中的onItemSelected,從而獲得使用者所選擇的內容。

其中ArrayAdapter適配器,它的作用是串連資料來源與視圖,也就是可以將數組裡面的資料,在spinnner中顯示。

執行個體:


        


代碼部分:

public class MainActivity extends Activity {public static final String[] m_Countries = {"O型","A型","B型","AB型","其他"};private TextView textView;private Spinner spinner;private ArrayAdapter  adapter; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (TextView)findViewById(R.id.textView1);spinner = (Spinner)findViewById(R.id.spinner1);//將可選內容與ArrayAdapter串連adapter = new  ArrayAdapter(this,android.R.layout.simple_spinner_item,m_Countries);         //設定下拉式清單風格adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//將adapter添加到spinner中    spinner.setAdapter(adapter);    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView arg0, View arg1,int arg2, long arg3) { displayToast("你選中了"+m_Countries[arg2]);textView.setText("你的血型是:"+m_Countries[arg2]);//設定顯示當前選擇的項arg0.setVisibility(View.VISIBLE);}@Overridepublic void onNothingSelected(AdapterView arg0) {// TODO Auto-generated method stub}});}public void displayToast(String text){Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


運行介面:

當選中血型之後會有提示資訊,然後將TextView中顯示內容改變為選中類型。



二.AutoCompleteTextView和MultiAutoCompleteTextView(自動提示):

AutoCompleteTextView:支援基本的自動完成功能,適用在各種搜尋功能中,並且可以根據自己的需求設定他的預設顯示資料。

MultiAutoCompleteTextView:可支援選擇多個值(在多次輸入的情況下),分別用分隔字元分開,並且在每個值選中的時候再次輸入值時會自動去匹配,例如簡訊發送時,連絡人的添加。

布局實現:

                   

代碼實現:

public class MainActivity extends Activity {public static final String[] auto = {"tiger","bull","horse","elephant","dog","pig","duck","bee","cat","dove","eagle","fish","whale"};private TextView textView;private ArrayAdapter adapter ; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (TextView)findViewById(R.id.textView1);//關聯關鍵字adapter = new  ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,auto);         AutoCompleteTextView autoView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);               //將adapter添加到AutoCompleteTextView中。autoView.setAdapter(adapter);MultiAutoCompleteTextView  multView = (MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);//將adapter添加到MultiAutoCompleteTextView中。multView.setAdapter(adapter);multView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


運行圖片:

AutoCompleteTextView:

MultiAutoCompleteTextView:


兩著都可以通過setThreshold()方法來設定輸入多少字元開始檢索。其預設為2個字元。


三.DatePicker、TimePicker(日期和時間):

android中用DatePicker來實現日期,TimePicker來實現時間。

實現過程:

現在布局檔案中定義DatePicker和TimePicker,然後通過Calendar類獲得系統時間,接著通過init()方法將日期傳遞給DatePicker,並設定OnDateChangedListener來監聽日期改變,當時間被改變時需要設定setOnTimeChangedListener()監聽來設定時間。

布局檔案:

            


代碼實現:

public class MainActivity extends Activity {private TextView textview;private DatePicker datepicker;private TimePicker timepicker;//java中的CalendarCalendar c;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);c = Calendar.getInstance();textview = (TextView)findViewById(R.id.textView1);datepicker = (DatePicker)findViewById(R.id.datePicker1);//將日記初始化為當前系統時間,並設定起監聽事件datepicker.init(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener() {@Overridepublic void onDateChanged(DatePicker view, int year, int monthOfYear,int dayOfMonth) {//當提起更改時,在這裡處理。}});timepicker = (TimePicker)findViewById(R.id.timePicker1);//設定為24小時制顯示timepicker.setIs24HourView(true);timepicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute) {//時間改變時處理。自己可添加}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

運行圖片:





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.