久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Android Spinner:下拉列表控件

 印度阿三17 2019-07-14

Spinner 提供下拉列表式的輸入方式,,該方法可以有效節(jié)省手機屏幕上的顯示空間,。

下面用一個簡單的實例講解 Spinner 的使用方法。在工程 WidgetDemo 的布局文件 main.xml 中添加一個 Button,,用以啟動 SpinnerActivity,。

在 main.xml 中添加代碼如下:


?
  1. <Button
  2. android:id="@ id/button4"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. android:text="SpinnerDemo"/>

單擊 Button 并啟動 SpinnerActivity 的代碼如下


?
  1. Button spinnerbtn = (Button) this.findViewById(R.id.button4);
  2. spinnerbtn.setOnClickListener(new View.OnClickListener() {
  3. @Override
  4. public void onClick(View v) {
  5. Intent intent = new Intent(MainActivity.this, SpinnerActivity.class);
  6. startActivity(intent);
  7. }
  8. });

同時在 AndroidManifest.xml 文件中聲明該 Activity:

<activity android:name=".SpinnerActivity "></activity>

SpinnerActivity 的運行效果如圖 1 所示。

Spinner的應(yīng)用界面
圖 1??Spinner 的應(yīng)用界面


SpinnerActivity 使用的布局文件為 spiner.xml,,其代碼如下:


?
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas./apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical">
  6. <TextView
  7. android:id="@ id/textView1"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:text="textview"/>
  11. <Spinner
  12. android:id="@ id/spinner1"
  13. android:layout_width="match_parent"
  14. android:layout_height="wrap_content"/>
  15. </LinearLayout>

SpinnerActivity.java 文件的代碼如下:


?
  1. package introduction.android.widgetDemo;
  2. ?
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. ?
  6. import android.app.Activity;
  7. import android.os.Bundle;
  8. import android.view.MotionEvent;
  9. import android.view.View;
  10. import android.widget.AdapterView;
  11. import android.widget.ArrayAdapter;
  12. import android.widget.Spinner;
  13. import android.widget.TextView;
  14. ?
  15. public class SpinnerActivity extends Activity {
  16. ?
  17. private List<String> list = new ArrayList<String>();
  18. private TextView textview;
  19. private Spinner spinnertext;
  20. private ArrayAdapter<String> adapter;
  21. ?
  22. public void onCreate(Bundle savedlnstanceState) {
  23. super.onCreate(savedlnstanceState);
  24. setContentView(R.layout.spiner);
  25. //第一步:定義下拉列表內(nèi)容
  26. list.add("A型");
  27. list.add("B型");
  28. list.add("O型");
  29. list.add("AB型");
  30. list.add("其他");
  31. textview = (TextView) findViewByld(R.id.textViewl);
  32. spinnertext = (Spinner) findViewByld(R.id.spinnerl);
  33. //第二步:為下拉列表定義一個適配器
  34. adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
  35. //第三步:設(shè)置下拉列表下拉時的菜單樣式
  36. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  37. //第四步:將適配器添加到下拉列表上
  38. spinnertext.setAdapter(adapter);
  39. //第五步:添加監(jiān)聽器,,為下拉列表設(shè)置事件的響應(yīng)
  40. spinnertext.setOnltemSelectedListener(new Spinner.OnltemSelectedListener() {
  41. public void onltemSelected(AdapterView<?> argO, View argl, int arg2, long arg3) {
  42. // TODO Auto-generated method stub
  43. /* 將所選spinnertext的值帶入myTextView中*/
  44. textview.setText("你的血型是:" adapter.getItem(arg2));
  45. /* 將 spinnertext 顯示^*/
  46. argO.setVisibility(View.VISIBLE);
  47. }
  48. ?
  49. public void onNothingSelected(AdapterView<?> argO) {
  50. // TODO Auto-generated method stub
  51. textview.setText("NONE");
  52. argO.setVisibility(View.VISIBLE);
  53. }
  54. });
  55. ?
  56. //將spinnertext添加到OnTouchListener對內(nèi)容選項觸屏事件處理
  57. spinnertext.setOnTouchListener(new Spinner.OnTouchListener() {
  58. @Override
  59. public boolean onTouch(View v, MotionEvent event) {
  60. // TODO Auto-generated method stub
  61. // 將mySpinner隱藏
  62. v.setVisibility(View.INVISIBLE);
  63. Log.i("spinner", "Spinner Touch事件被觸發(fā)!");
  64. return false;
  65. }
  66. });
  67. ?
  68. //焦點改變事件處理
  69. spinnertext.setOnFocusChangeListener(new Spinner.OnFocusChangeListener() {
  70. public void onFocusChange(View v, boolean hasFocus) {
  71. // TODO Auto-generated method stub
  72. v.setVisibility(View.VISIBLE);
  73. Log.i("spinner", "Spinner FocusChange事件被觸發(fā)!");
  74. }
  75. });
  76. ?
  77. }
  78. }

SpinnerActivity 通過 5 個步驟將 Spinner 初始化并進行事件處理,,分別為:

  • 定義下拉列表的列表項內(nèi)容 List<String>,。
  • 為下拉列表 Spinner 定義一個適配器 ArrayAdapter<String> ,并與列表項內(nèi)容相關(guān)聯(lián),。
  • 使用 ArrayAdapter.setDropDownViewResource() 設(shè)置 Spinner 下拉列表在打開時的下拉菜單樣式,。
  • 使用 Spinner. setAdapter() 將適配器數(shù)據(jù)與 Spinner 關(guān)聯(lián)起來。
  • 為 Spinner 添加事件監(jiān)聽器,,進行事件處理,。


在本實例中,SpinnerActivity 在程序代碼中動態(tài)建立了下拉列表每一項的內(nèi)容,。除此之外,,還可以在 XML 文件中定義 Spinner 的下拉列表項,步驟如下,。

1)在 res/values 文件夾下新建 cities.xml 文件夾:


?
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string-array name="city">
  4. <item>A型</item>
  5. <item>B型</item>
  6. <item>AB型</item>
  7. <item>O型</item>
  8. <item>其他</item>
  9. </string-array>
  10. </resources>

2)在 SpinnerActivity.java 中初始化 Spinner:


?
  1. Spinner spinner=(Spinner)findViewById(R.id.spinner1);
  2. ArrayAdapter<CharSequence> adapter=ArrayAdapter.createF
  3. romResource(this, R.array.city,android.R.layout.simple_spinner_item);
  4. adapter.setDropDownViewResource
  5. (android.R.layout.simple_spinner_dropdown_item);
  6. spinner.setAdapter(adapter);
來源:https://www./content-4-327351.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多