SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Android Studio 2で始めるアプリ開発入門

Androidアプリの画面部品 ~ LinearLayout/ラジオボタン/ドロップダウンリスト/リストビュー

Android Studio 2で始めるアプリ開発入門 第4回


ドロップダウンリスト

 次に紹介するのは、ドロップダウンリストです。Androidではドロップダウンリストを表すタグは<Spinner>タグです。activity_view_sample.xmlファイルの<RadioGroup>の閉じタグの後に以下のコードを追加します。

リスト5 activity_view_sample.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  ~省略~
    </RadioGroup>

  <Spinner
    android:id="@+id/spCurryList"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#ffffff"
    android:entries="@array/sp_currylist"
    android:paddingBottom="5dp"
    android:paddingTop="5dp"/>

    <Button
  ~省略~

 ここで、Spinner用の表示文字列をstrings.xmlに追加します。今回は、今までの<string>タグと違うタグを追加します。以下のタグを<resources>の閉じタグの前に追加してください。

リスト6 strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
  ~省略~

  <string-array name="sp_currylist"> (1)
    <item>ドライカレー</item>
    <item>カツカレー</item>
    <item>ビーフカレー</item>
    <item>チキンカレー</item>
    <item>シーフードカレー</item>
    <item>キーマカレー</item>
    <item>グリーンカレー</item>
  </string-array>

</resources>

 入力が終了し、特に問題がなければアプリを実行してみてください。以下のような画面が表示されれば成功です。

図7 ドロップダウンリストが追加された画面部品サンプルアプリ実行結果
図7 ドロップダウンリストが追加された画面部品サンプルアプリ実行結果

 「ドライカレー」と表示されている部分をタップすると以下のようにドロップダウンリストが表示されます。

図8 ドロップダウンリストの表示
図8 ドロップダウンリストの表示

 この<Spinner>タグで注目したいのは、そのリストデータです。ドロップダウンリストで使われるデータというのは、配列といえます。このデータをアクティビティ内でJavaコードで記述してももちろんいいのですが、今回のサンプルのような固定の文字列配列の場合、strings.xmlに記述して、それを利用することもできます。その際に使用するのが<string-array>タグとandroid:entries属性です。

 手順としては、まず、strings.xmlに<string-array>タグを記述し、データひとつひとつを<item>タグで記述します(リスト6 strings.xmlの(1))。その後、android:entries属性の「@array/…」の「…」の部分に<string-array>タグのname属性を記述します。

図9 android:entriesとstring-array
図9 android:entriesとstring-array

 例えば、DBのデータなど、データが動的に変化するリストの場合は、もちろんアクティビティでデータを用意する必要があります。

次のページ
まとめ

この記事は参考になりましたか?

Android Studio 2で始めるアプリ開発入門連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 齊藤 新三(サイトウ シンゾウ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook <個人紹介>WINGSプロジェクト所属のテクニカルライター。Web系製作会社のシステム部門、SI会社を経てフリーランスとして独立。屋号はSarva(サルヴァ)。HAL大阪の非常勤講師を兼務。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9437 2018/05/23 15:36

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー