トップ 一覧 検索 ヘルプ RSS ログイン

control_ui_androidの変更点

+
+!!ボタンの処理
+
+ボタンを配置して、選択したら何かアクションを起こす一連の流れを記載。
+
+!レイアウトのxmlの記載
+
+ボタン1つは「layout/xxx.xml」にて以下のように記載。
+
+ <Button
+     android:id="@+id/test_but"
+     android:layout_width="wrap_content"
+     android:layout_height="wrap_content"
+     android:text="@string/test_but" />
+
+「android:id="@+id/test_but"」にて、自動で割り当てられるIDとボタン名(test_but)を指定。
+
+「android:layout_width/android:layout_height」については、「[[レイアウト|layout_ui_android]]」を参照。
+
+「android:text="@string/test_but"」は表示されるボタン名。これは、別途values/strings.xmlのxmlファイルにて列挙しているテキストを参照している。
+
+「values/strings.xml」は以下のようになっている。
+ <resources>
+     <string name="app_name">layoutTest</string>
+     <string name="menu_settings">Settings</string>
+     <string name="title_activity_main">layoutTest</string>
+     <string name="test_but">ボタンテスト</string>
+ </resources>
+「test_but」がボタンで参照している文字列。
+
+!Activity派生クラスでの記載
+
+要:
+ import android.widget.Button;
+ import android.view.View;
+ import android.view.View.OnClickListener;
+ import android.app.AlertDialog;  // 確認用のAlertメッセージを表示する場合に必要
+
+アプリケーションを開始するActivity派生クラスのonCreate関数にて、以下のようにしてボタンを
+findViewByIdで探して、setOnClickListenerでボタンが押されたときのコールバッククラスを登録。
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+    super.onCreate(savedInstanceState);
+    setContentView(R.layout.activity_main);
+ 
+    // ボタンのイベントクラスを登録 
+    ((Button) findViewById(R.id.test_but)).setOnClickListener(mPushButton);
+ }
+
+そして、コールバックのクラス「mPushButton」を記載。
+
+ // ボタンが押された場合の処理
+ OnClickListener mPushButton = new OnClickListener() {
+     public void onClick(View v) {
+         // ボタンが押されたときに行う処理。ここでは確認用のAlertメッセージを表示
+         AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
+         builder.setTitle("タイトル");
+         builder.setMessage("メッセージです。");
+         builder.create().show();    // メッセージを表示
+     }
+ };
+
+これで、ボタンが押された場合にOnClickListenerのonClick関数が呼ばれる。
+上記の例では「タイトル/メッセージです。」とメッセージが表示される。