《Monkey Android》第15課Spinner和AutoCompleteTextView

轉發請註明出處:
安卓猴的專欄(http://blog.csdn.net/androidmonkey)
安卓猴的微博(@安卓猴)


通過本節課可以學習到的內容:

  • Spinner的用法
  • AutoCompleteTextView的用法

實例代碼:

運行效果參見本課程示例App:安卓猴Demos

github地址:https://github.com/git0pen/MonkeyAndroid


Spinner的用法

Spinner,俗稱下拉列表,它提供了一組固定的值或選項,允許用戶從中選擇一個作爲默認的狀態。

AutoCompleteTextView的用法

AutoCompleteTextView,自動完成文本框,用戶在輸入時給予補全提醒。

效果圖

Spinner

AutoCompleteTextView

Activity的源碼

package com.sunjiajia.monkeyandroid;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Spinner;

/**
 * Created by monkey on 1/3/16.
 */
public class SpinnerAutoCompleteTextViewActivity extends BaseActivity {
  @Override public int giveViewResId() {
    return R.layout.activity_spinner_autocompletetextview;
  }

  private Spinner mSpinnerCity;
  private String[] mDatas;
  private AutoCompleteTextView tvAc;

  @Override protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    intViews();
    initData();
    confingViews();
  }

  private void confingViews() {
    setSpinner();
    setAutoCompleteTextView();
  }

  private void setAutoCompleteTextView() {

    ArrayAdapter<CharSequence> adapter03 =
        ArrayAdapter.createFromResource(this, R.array.av_male, android.R.layout.simple_list_item_1);
    tvAc.setAdapter(adapter03);
  }

  private void setSpinner() {
    //通過適配器來進行動態的數據填充
    // 第一種:
/*    ArrayAdapter<String> adapter01 =
        new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, mDatas);
    mSpinnerCity.setAdapter(adapter01);*/

    ArrayAdapter<CharSequence> adapter02 = ArrayAdapter.createFromResource(this, R.array.city,
        android.R.layout.simple_list_item_1);
    mSpinnerCity.setAdapter(adapter02);
  }

  private void intViews() {
    mSpinnerCity = (Spinner) findViewById(R.id.spinner_city);
    tvAc = (AutoCompleteTextView) findViewById(R.id.tv_autocomplete);
  }

  protected void initData() {
    mDatas = new String[] { "動態數據Spinner", "北京", "上海", "深圳", "廣州", "洛杉磯", "紐約", "華盛頓" };
  }
}

佈局文件XML的源碼

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    >


  <!--
       android:entries="@array/av_male"
          用來綁定靜態的array數據。
  -->

  <Spinner
      android:id="@+id/spinner_male"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:entries="@array/av_male"
      />

  <Spinner
      android:layout_marginTop="30dp"
      android:id="@+id/spinner_city"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      />


  <!--
      android:completionThreshold="1"
        用來設置第幾個字符開始提示;
  -->


  <AutoCompleteTextView
      android:id="@+id/tv_autocomplete"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:completionThreshold="1"
      android:hint="請輸入侍寢的女優名字"
      />
</LinearLayout>

values/arrays.xml源碼

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <array name="av_male">
    <item>靜態數據Spinner</item>
    <item>蒼井空</item>
    <item>蒼小妹</item>
    <item>蒼二妹</item>
    <item>朝桐光</item>
    <item>朝小姐</item>
    <item>朝美女</item>
    <item>小澤瑪利亞</item>
    <item>小倉美女</item>
    <item>西翔野</item>
    <item>西門慶</item>
    <item>孫靜雅</item>
    <item>孫悟空</item>
    <item>波多野結衣</item>
    <item>菠蘿菠蘿蜜</item>
  </array>

  <array name="city">
    <item>動態填充數據2</item>
    <item>北京</item>
    <item>上海</item>
    <item>深圳</item>
    <item>廣州</item>
    <item>洛杉磯</item>
    <item>紐約</item>
    <item>華盛頓</item>
  </array>
</resources>

下課

這一節課,我們主要學習了Spinner和AutoCompleteTextView,希望能夠在實際中加以運用!

關注我,我們一起進步

安卓猴的微博(@安卓猴)

安卓猴的github(@git0pen)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章