2012年01月27日

複数のボタンの動作を設定する


今回はmain画面にボタンを2つ配置しそれぞれにイベントを割り当てました
ボタンのイベントについては前回を参照してください
ボタンがクリックされるイベントを取得
まずはres/layout/main.xml
にボタンを2つ配置します
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical" >

    <Button
    	android:id="@+id/button1"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="Button1" />

    <Button
    	android:id="@+id/button2"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="Button2" />

</LinearLayout>

それぞれidをbutton1、button2としています


次に次にActivity(TestActivity)の設定です
package blog.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class TestActivity extends Activity implements OnClickListener {
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        /**それぞれのidを設定**/
        Button button1=(Button)findViewById(R.id.button1);
        Button button2=(Button)findViewById(R.id.button2);
        /**ボタンが押されたらonClickが動作するよう設定**/
        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        }

/**ボタンが押された時の処理**/
public void onClick(View v){
    switch(v.getId()){
      case R.id.button1:
          showMessage("button1 が押されました。");
          break;
      case R.id.button2:
    	  showMessage("button2 が押されました。");
          break;
    }
}
    
    /**トースト設定**/
    protected void showMessage(String msg){
        Toast.makeText(
            this,
            msg, Toast.LENGTH_LONG).show();
    }
    

}

10行目のimplements OnClickListenerとあります
自分自身のクラスに「OnClickListener」インタフェースを実装する
といいます
これはonCreateで設定したものにOnClickListenerが使えるよ〜
ということを表します

button1を押すと・・・
device9.jpg

button2を押すと・・・
device10.jpg
スポンサードリンク

posted by kenken at 11:16 | Comment(0) | TrackBack(0) | ウィジェット ボタン | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。