Androidでは、「http://developer.android.com/reference/android/widget/Spinner.html[android.widget.Spinner」」クラスを使用して、ドロップダウンボックスの選択リストをレンダリングできます。

このチュートリアルでは、次のタスクの実行方法を説明します。

  1. SpinnerをXMLでレンダリングし、XMLファイルを介して選択項目をロードする

また、

  1. 別のSpinnerをXMLでレンダリングし、コードで選択項目をロードする

動的に

  1. Spinnerにリスナーを接続し、ユーザーが値を選択したときに起動します

スピナー。

  1. リスナーをレンダリングして通常のボタンにアタッチし、ユーザーがクリックすると起動します

Spinnerの選択した値が表示されます。


P.SこのプロジェクトはEclipse 3.7で開発され、Android 2.3.3.

でテストされています

1. Spinnerの項目リスト



res/values/strings.xml

“ファイルを開き、Spinner(ドロップダウンリスト)に表示される項目のリストを定義します。


File:res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app__name">MyAndroidApp</string>
    <string name="country__prompt">Choose a country</string>

    <string-array name="country__arrays">
        <item>Malaysia</item>
        <item>United States</item>
        <item>Indonesia</item>
        <item>France</item>
        <item>Italy</item>
        <item>Singapore</item>
        <item>New Zealand</item>
        <item>India</item>
    </string-array>

</resources>

2.スピナー(ドロップダウンリスト)



res/layout/main.xml

“ファイルを開き、2つのスピナーコンポーネントとボタンを追加します。

  1. 「spinner1」において、「android:entries」は選択項目を表す

スピナーで。

  1. “spinner2″では、選択項目は後でコードで定義されます.


File:res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout__width="fill__parent"
    android:layout__height="fill__parent"
    android:orientation="vertical" >

    <Spinner
        android:id="@+id/spinner1"
        android:layout__width="match__parent"
        android:layout__height="wrap__content"
        android:entries="@array/country__arrays"
        android:prompt="@string/country__prompt"/>

    <Spinner
        android:id="@+id/spinner2"
        android:layout__width="match__parent"
        android:layout__height="wrap__content"/>

    <Button
        android:id="@+id/btnSubmit"
        android:layout__width="wrap__content"
        android:layout__height="wrap__content"
        android:text="Submit"/>

</LinearLayout>

3.コードコード

コードとコードのコメントを読み、それは自明でなければなりません。


File:MyAndroidAppActivity.java

package com.mkyong.android;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

public class MyAndroidAppActivity extends Activity {

  private Spinner spinner1, spinner2;
  private Button btnSubmit;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    addItemsOnSpinner2();
    addListenerOnButton();
    addListenerOnSpinnerItemSelection();
  }

 //add items into spinner dynamically
  public void addItemsOnSpinner2() {

    spinner2 = (Spinner) findViewById(R.id.spinner2);
    List<String> list = new ArrayList<String>();
    list.add("list 1");
    list.add("list 2");
    list.add("list 3");
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
        android.R.layout.simple__spinner__item, list);
    dataAdapter.setDropDownViewResource(android.R.layout.simple__spinner__dropdown__item);
    spinner2.setAdapter(dataAdapter);
  }

  public void addListenerOnSpinnerItemSelection() {
    spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
  }

 //get the selected dropdown list value
  public void addListenerOnButton() {

    spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner2 = (Spinner) findViewById(R.id.spinner2);
    btnSubmit = (Button) findViewById(R.id.btnSubmit);

    btnSubmit.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {

        Toast.makeText(MyAndroidAppActivity.this,
        "OnClickListener : " +
                "\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) +
                "\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),
            Toast.LENGTH__SHORT).show();
      }

    });
  }
}


File:CustomOnItemSelectedListener.java

package com.mkyong.android;

import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;

public class CustomOnItemSelectedListener implements OnItemSelectedListener {

  public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
    Toast.makeText(parent.getContext(),
        "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
        Toast.LENGTH__SHORT).show();
  }

  @Override
  public void onNothingSelected(AdapterView<?> arg0) {
   //TODO Auto-generated method stub
  }

}

4.デモ

アプリケーションを実行します。

{空} 1。結果、2つのスピナーが表示されます。


アンドロイドスピナーデモ1、タイトル= "android-spinner-demo1"、幅= 318、高さ= 480


アンドロイドスピナーデモ2、タイトル= "android-spinner-demo2"、幅= 318、高さ= 480

{空} 2。スピナー1から「France」を選択すると、アイテム選択リスナーが発砲します。


android-spinner-demo3、title = "android-spinner-demo3"、width = 318、height = 480

{空} 3。 spinner2から “list2″を選択し、送信ボタンをクリックします:


android-spinner-demo4、title = "android-spinner-demo4"、width = 318、height = 480

ソースコードをダウンロードする

それをダウンロードする –

Android-Spinner-DropDownList-Example.zip

(16 KB)

参考文献

スピナーの例]

リンク://タグ/アンドロイド/[アンドロイド]リンク://タグ/ドロップダウン/[ドロップダウン]

spinner