CodeZine(コードジン)

特集ページ一覧

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2016/05/25 14:00

目次

ドロップダウンリスト

 次に紹介するのは、ドロップダウンリストです。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のデータなど、データが動的に変化するリストの場合は、もちろんアクティビティでデータを用意する必要があります。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

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

もっと読む

著者プロフィール

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

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きた...

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

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5