Studioを使います。Studioのメジャーアップデートであるバージョン2.0が正式公開されました。2系を使い、Androidアプリ開発の基本を解説していきます。前回までの解説では、アプリはすべて1画面でした。今回は、前回解説したListViewにさらに1画面追加し、2画面のアプリを作りつつ、画面遷移を解説していきます。3対応を行い、書籍化しています。最新情報については、こちらもぜひ併せてご参照ください。Androidアプリ開発未経験な方Java言語は一通り習得済みである方サンプルプロジェクト作成では、今回使用するサンプルアプリを作成していきましょう。以下が今回使用するサンプルアプリのプロジェクト情報です。今回のサンプルは、前回作成した定食メニューリストを以下のように2行表示にし、価格も表示したものを作ります。今回のサンプルの画面まず、strings.xmlファイル、および、activity_menu_list.xmlファイルに関しては、ダウンロードサンプルを参照してください。今回は、前回の後半で行ったようにアダプタクラスを使用してアクティビティの中でリストデータを生成します。MenuListActivityののonCreate()メソッドに以下のソースコードを記述します。}}「~繰り返し~」の部分はmenuListにデータを登録している部分です。(2)の4行の繰り返しになりますので、続きはダウンロードサンプルを参照してください。入力できた段階で、一度アプリを起動してみてください。図1のような画面が表示されるはずです。SimpleAdapter前回は、アダプタクラスとしてArrayAdapterを使いました。今回は、SimpleAdapterを使います。今回は「?」にStringを使い、このListオブジェクトを用意します。(2)はそのデータ登録です。データが用意できた段階で、これを使って、SimpleAdapterを生成します。これが(5)です((3)と(4)は後述します)。SimpleAdapterはnewする際、引数が5個必要です。引数1はコンテキストです。前回解説した通り、「アクティビティクラス名.this」を記述します。引数2はリストデータそのものです。引数3はリストビューの各行のレイアウトを表すR値です。SDKでもともと用意されているandroid.R.layout.simple_list_item_2とします。引数4と引数5は次項で扱います。生成したアダプタオブジェクトを、ListViewのsetAdapter()メソッドでセットします。from-toSimpleAdapterをnewするときの第4引数のfromと第5引数のtoの組合せで、Map内のどのデータをListView各行のどの部品に割り当てるかを指定できるようになっています。今回使用している「android.R.layout.simple_list_item_2」レイアウトのListViewというのは、下図のように各行に2個のTextViewが埋め込まれており、それぞれのidが「android.R.id.text1」と「android.R.id.text2」となっています。android.R.layout.simple_list_item_2のレイアウトこの「android.R.id.text1」にMapのキーが「name」のデータを、「android.R.id.text2」に「price」のデータを表示するように指定するのが、fromとtoの組合せなのです。上図のように、String配列fromにMapのキー名を記述します(ソースコードの(3))。それと同じ順番で対応するようにint配列toにidのR値を記述します(ソースコードの(4))。このようにして用意したfromとtoをそれぞれSimpleAdapterをnewするときの第4引数と第5引数として渡すことで、それぞれのデータを埋め込んでListViewを表示してくれます。