ボタンに動作をつける

ボタンに動作をつける

ボタンに動作をつける

main.xmlで配置したボタンに動作をつけます

今回はボタンを押したら「ガァ~」と文字が表示されるようにします。
また、もう一回ボタンをおしたら「ガァ~」が消えるようにします。

0006-0001 ←クリック→ 0006-0002

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background" android:gravity="center_vertical" >
		<Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content">
		</Button>
 
		<TextView android:id="@+id/textView1" android:layout_height="wrap_content" android:text="0" android:layout_width="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge">
		</TextView>
</LinearLayout>

ボタン:名前(button1)と、
テキストエリア:名前(textView1)を設置しています

public class TestActivity extends Activity implements OnClickListener {
	/** Called when the activity is first created. */

	private Button button1;         //ボタン用変数(1)
	private TextView text1;         //テキスト用変数(2)
	private int clickcount=0;  //ガァ~表示用 カウンター

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		//(1)で作成した変数と、XMLで作ったボタン(button1)を紐付け
		button1=(Button)findViewById(R.id.button1);
		
		//(2)で作成した変数と、XMLで作ったテキストを紐付け
		text1  =(TextView)findViewById(R.id.textView1); 

		//button1のクリックを通知する機能を実装
		button1.setOnClickListener(this);    
	}

	//---------------------------
	//ボタンがクリックされたら呼ばれる関数
	//---------------------------
	public void onClick(View v) {
		// TODO 自動生成されたメソッド・スタブ
		if(clickcount%2==0){
			text1.setText("gaa");  //text1をがぁ~に
		}else{
			text1.setText(" ");         //text1を消す
		}
		clickcount++;
	}
}

ボタンを扱えるようにする4ステップ

  • 1:ボタン変数を作る
    private Button button1;
  • 2:ボタン変数と、XMLで作ったボタンを紐付ける
    button1=(Button)findViewById(R.id.button1);
  • 3:ボタンのクリックを監視する (onClickLisner)
    button1.setOnClickListener(this);
    JAVAの世界ではコールバック関数に対応するオブジェクトを「Listener」(リスナー)と呼びます
  • 4:関数onClick内にクリックされたときの動作を記述

 

0006-0003

0006-0004

大体赤の波線が出たときはeclipsが助けてくれますので、
メニューから必要な情報をインポートしていけばOKです

designer

Leave your message