SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
様々な部品の使い方その1 
1
ボタンの処理の追加 
◦XMLにメソッド名の追加 
◦javaにメソッドと処理を書く 
Toastの使い方 
ログの出力 
2
その1.txt 
レイアウトのXML 
その2.txt 
string.xml 
その3.txt 
MainActivityのソースコード 
3
様々な部品を使ってみるその1 
◦ラジオグループ(ラジオボタン) 
◦スピナー 
4
ファイル>新規>Android Application Project 
から新しいアプリプロジェクトを作ろう。 
プロジェクト名は 
XMLPro_Android_Test3 
(好きな名前があれば自由につけてください。) 
5
ラジオグループは複数のボタン(選択肢)から 
1つだけしか選択できないボタン。 
複数のグループが設置できる。 
モードの設定とかに便利 
アンケートページの「学年」「学部」を選ぶときのボタン 
6
RadioGroupを 
ドラッグ&ドロップで配置 
TextViewは残しておく 
7
8 
ラジオグループが出現 (ラジオボタンの集まり。) 
グループはここで確認できる。 
(レイアウトの状態)
画面 
◦グループ 
部品1 
部品2 
部品3 
9 
画面 
グループ 
部品 
入れ子になっている 物がグループ
10 
ラジオボタンを2つ追加 
アウトラインはこんな感じ
ラジオボタンのIDを 
「@+id/year1」~ 「@+id/year4」、 「@+id/other」 
に変更し、Textも 
「@string/year1」… 
に変更しよう。 
String.xmlに 
1年生~4年生、その他 
を追加しよう。 
11
12
ラジオグループ本体にイベントを登録する。 
リスナーの登録(onResume()内) 
public void onResume() { 
super.onResume(); 
RadioGroup rdg =(RadioGroup)findViewById(R.id.radioGroup1); 
rdg.setOnCheckedChangeListener(new onCheckedChange()); 
} 
(onCreateの下あたりの方が良い) 
13
部品(レイアウト)と処理を繋ぐもの。 
部品に直接処理を追加できない。 
部品の動作(イベント)に処理を結びつける。 
14 
部品 
動作 
処理 
リスナー
変更があった時の動作の追加 
public class onCheckedChange implements OnCheckedChangeListener{ 
@Override 
public void onCheckedChanged(RadioGroup group, int checkedId) { 
Log.d("debug", "OK:"+checkedId); 
} 
} 
15
ボタンを切り替えて、 
ログを見てみよう! 
IDで押されたボタンが 判別できる。 
16
17 
アクティビティが実行される 
直前に呼ばれるメソッド 
オブジェクトの取得 
チェックが変更された時の動作に 
「onCheckedChange」を結びつける。
18 
チェックに変更があった時に呼ばれるリスナー 
変更があった時に 
呼ばれるメソッド 
ログに押された 
ボタンのIDを表示
複数の選択肢から1つだけ選べるリスト。 
ポップアップで選択肢を設定できる。 
ラジオボタンより、レイアウトを小さくできる。 
19
レイアウトに 
Spinnerを配置 
ラジオボタンの 
入れ子にならないように 
20
表示する選択肢(文字列)を作る。 
string.xmlに追加 
<string-array name="college"> 
<item>CS</item> 
<item>MS</item> 
<item>BS</item> 
<item>その他</item> 
</string-array> 
これがリストになる。 
21
リストとリスナーの追加をする。 
Spinner sp = (Spinner) findViewById(R.id.spinner1); 
String[] states = getResources().getStringArray(R.array.college); 
ArrayAdapter<String> adapter = new ArrayAdapter<String> (this,android.R.layout.simple_spinner_item, states); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
sp.setAdapter(adapter); 
sp.setOnItemSelectedListener(new onItemSelectedSpinner()); 
22
public class onItemSelectedSpinner implements OnItemSelectedListener{ 
@Override 
public void onItemSelected(AdapterView<?> parent, View view,int position, long id) { 
Log.d("debug", "pos:"+position+"¥nid:"+id); 
} 
@Override 
public void onNothingSelected(AdapterView<?> parent) { 
} 
} 
23
アイテムを切り替えて、 
ログを見てみよう。 
IDやpositionで、 
選択されたアイテムが 
判別できる。 
24
25 
レイアウトからスピナーの 
オブジェクトを取得 
String.xmlから 
リストを取得 
アダプタを作成 
スピナーにアダプタと 
リスナーを設定 
アダプタの種類を設定
26 
アイテムが変更された時に 
呼ばれるリスナー。 
アイテムが選ばれた時。 
ログの出力 
アイテムが何も無かった時。
様々な部品を使ってみるその2 
27

Mais conteúdo relacionado

Destaque (13)

Lt
LtLt
Lt
 
Android班第2回
Android班第2回Android班第2回
Android班第2回
 
Android01_開発環境導入
Android01_開発環境導入Android01_開発環境導入
Android01_開発環境導入
 
Web 08
Web 08Web 08
Web 08
 
Sublime text intro
Sublime text introSublime text intro
Sublime text intro
 
Photon フラッシュブラウザ
Photon フラッシュブラウザPhoton フラッシュブラウザ
Photon フラッシュブラウザ
 
Hddからssdへ
HddからssdへHddからssdへ
Hddからssdへ
 
Sublime Textに恋しよう
Sublime Textに恋しようSublime Textに恋しよう
Sublime Textに恋しよう
 
クラウドファンディングLt
クラウドファンディングLtクラウドファンディングLt
クラウドファンディングLt
 
Lt資格
Lt資格Lt資格
Lt資格
 
LTのネタLT
LTのネタLTLTのネタLT
LTのネタLT
 
Beautiful lt
Beautiful ltBeautiful lt
Beautiful lt
 
Webアプリケーションフレームワーク flask
Webアプリケーションフレームワーク flaskWebアプリケーションフレームワーク flask
Webアプリケーションフレームワーク flask
 

Mais de XMLProJ2014 (18)

Java班講義資料第3回
Java班講義資料第3回Java班講義資料第3回
Java班講義資料第3回
 
Java班講義資料第2回
Java班講義資料第2回Java班講義資料第2回
Java班講義資料第2回
 
第1回Java講義資料
第1回Java講義資料第1回Java講義資料
第1回Java講義資料
 
00環境構築
00環境構築00環境構築
00環境構築
 
Mash up awards(クリスマス会)
Mash up awards(クリスマス会)Mash up awards(クリスマス会)
Mash up awards(クリスマス会)
 
きのこたけのこ戦争
きのこたけのこ戦争きのこたけのこ戦争
きのこたけのこ戦争
 
クリパ用Lt2014
クリパ用Lt2014クリパ用Lt2014
クリパ用Lt2014
 
ポケモン解説
ポケモン解説ポケモン解説
ポケモン解説
 
クリスマス会Lt
クリスマス会Ltクリスマス会Lt
クリスマス会Lt
 
一年ツイッター
一年ツイッター一年ツイッター
一年ツイッター
 
C++班
C++班C++班
C++班
 
C#班
C#班C#班
C#班
 
Web班
Web班Web班
Web班
 
Web 11
Web 11Web 11
Web 11
 
Web 09
Web 09Web 09
Web 09
 
Android班第4回
Android班第4回Android班第4回
Android班第4回
 
Web 10
Web 10Web 10
Web 10
 
Web 08
Web 08Web 08
Web 08
 

Android班第3回