Android開発入門Buttonイベントの実現方法(オリジナル)
6858 ワード
Buttonイベント実装の3つの方法について説明します
main.xml
strings.xml
Hello World, HelloWordActivity! HelloWord
1つ目:
HelloWordActivity.java
package xyq.Android;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Button;import android.widget.Toast;import android.view.View.OnClickListener;//import android.widget.TextViewpublic class HelloWordActivity extends Activity { /** Called when the activity is first created. */ private Button btn1; @Override public void onCreate(Bundle abc) { super.onCreate(abc); /*TextView tv=new TextView(this); tv.setText(「こんにちは、アンドロイド!」); Button btn=new Button(this); //btn.setWidth(150); btn.setText(「ボタン1」); btn.setTextColor(Color.GREEN); Button btn2=new Button(this); btn 2.setText(「ボタン2」); LinearLayout layout=new LinearLayout(this); layout.addView(tv); layout.addView(btn); layout.addView(btn2); this.setContentView(layout);*/ setContentView(R.layout.main); btn1=(Button)findViewById(R.id.button1);
//匿名クラスを使用したButtonイベントの登録 btn1.setOnClickListener(new OnClickListener () { //これは間違った方法です.on、Onではありません. public void OnClick(View v) { Toast.makeText(HelloWordActivity.this、「ボタン1をクリックした」、Toast.LENGTH_LONG).show(); } @Override public void onClick(View v) { //TODO Auto-generated method stub Toast.makeText(HelloWordActivity.this、「ボタン1をクリックした」、Toast.LENGTH_LONG).show(); } }); }
}
2つ目:
HelloWordActivity.java
package xyq.Android;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Button;import android.widget.Toast;import android.view.View.OnClickListener;//import android.widget.TextViewpublic class HelloWordActivity extends Activity { /** Called when the activity is first created. */ private Button btn1; @Override public void onCreate(Bundle abc) { super.onCreate(abc); /*TextView tv=new TextView(this); tv.setText(「こんにちは、アンドロイド!」); Button btn=new Button(this); //btn.setWidth(150); btn.setText(「ボタン1」); btn.setTextColor(Color.GREEN); Button btn2=new Button(this); btn 2.setText(「ボタン2」); LinearLayout layout=new LinearLayout(this); layout.addView(tv); layout.addView(btn); layout.addView(btn2); this.setContentView(layout);*/
setContentView(R.layout.main); btn1.setOnClickListener(new ButtonClick()); }
//OnClickListenerに応答するクラスを作成 class ButtonClick implements OnClickListener
{ public void onClick(View v) { switch (v.getId()) { case R.id.button1: Toast.makeText(HelloWordActivity.this、「ボタン1をクリックした」、Toast.LENGTH_LONG).show(); break; default: break; } } }}
3つ目:
ButtonコントロールにはonClickというプロパティがあります(プロパティパネルでは「On Click」と呼ばれます).このプロパティでクリックイベントを処理するメソッド名を設定し、アクティビティで実装できます.たとえば、ButtonコントロールのプロパティをonButtonClickに設定できます.XMLでは、このプロパティは次のようになります.
次に、アクティビティクラスでは、このメソッドを実装する必要があります.これは、単一のパラメータ(Viewオブジェクト)を持つ共通のvoidメソッドである必要があります.たとえば、次のボタンをクリックすると、Buttonコントロールがクリックされたときに画面にメッセージボックスが生成されます.
package xyq.Android;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Button;import android.widget.Toast;import android.view.View.OnClickListener;//import android.widget.TextViewpublic class HelloWordActivity extends Activity { /** Called when the activity is first created. */ private Button btn1; @Override public void onCreate(Bundle abc) { super.onCreate(abc); /*TextView tv=new TextView(this); tv.setText(「こんにちは、アンドロイド!」); Button btn=new Button(this); //btn.setWidth(150); btn.setText(「ボタン1」); btn.setTextColor(Color.GREEN); Button btn2=new Button(this); btn 2.setText(「ボタン2」); LinearLayout layout=new LinearLayout(this); layout.addView(tv); layout.addView(btn); layout.addView(btn2); this.setContentView(layout);*/ setContentView(R.layout.main); } public void onButtonClick(View view) { Toast.makeText(this,「ボタン1をクリックしました」,Toast.LENGTH_SHOUT).show(); }}
main.xml
strings.xml
1つ目:
HelloWordActivity.java
package xyq.Android;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Button;import android.widget.Toast;import android.view.View.OnClickListener;//import android.widget.TextViewpublic class HelloWordActivity extends Activity { /** Called when the activity is first created. */ private Button btn1; @Override public void onCreate(Bundle abc) { super.onCreate(abc); /*TextView tv=new TextView(this); tv.setText(「こんにちは、アンドロイド!」); Button btn=new Button(this); //btn.setWidth(150); btn.setText(「ボタン1」); btn.setTextColor(Color.GREEN); Button btn2=new Button(this); btn 2.setText(「ボタン2」); LinearLayout layout=new LinearLayout(this); layout.addView(tv); layout.addView(btn); layout.addView(btn2); this.setContentView(layout);*/ setContentView(R.layout.main); btn1=(Button)findViewById(R.id.button1);
//匿名クラスを使用したButtonイベントの登録 btn1.setOnClickListener(new OnClickListener () { //これは間違った方法です.on、Onではありません. public void OnClick(View v) { Toast.makeText(HelloWordActivity.this、「ボタン1をクリックした」、Toast.LENGTH_LONG).show(); } @Override public void onClick(View v) { //TODO Auto-generated method stub Toast.makeText(HelloWordActivity.this、「ボタン1をクリックした」、Toast.LENGTH_LONG).show(); } }); }
}
2つ目:
HelloWordActivity.java
package xyq.Android;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Button;import android.widget.Toast;import android.view.View.OnClickListener;//import android.widget.TextViewpublic class HelloWordActivity extends Activity { /** Called when the activity is first created. */ private Button btn1; @Override public void onCreate(Bundle abc) { super.onCreate(abc); /*TextView tv=new TextView(this); tv.setText(「こんにちは、アンドロイド!」); Button btn=new Button(this); //btn.setWidth(150); btn.setText(「ボタン1」); btn.setTextColor(Color.GREEN); Button btn2=new Button(this); btn 2.setText(「ボタン2」); LinearLayout layout=new LinearLayout(this); layout.addView(tv); layout.addView(btn); layout.addView(btn2); this.setContentView(layout);*/
setContentView(R.layout.main); btn1.setOnClickListener(new ButtonClick()); }
//OnClickListenerに応答するクラスを作成 class ButtonClick implements OnClickListener
{ public void onClick(View v) { switch (v.getId()) { case R.id.button1: Toast.makeText(HelloWordActivity.this、「ボタン1をクリックした」、Toast.LENGTH_LONG).show(); break; default: break; } } }}
3つ目:
ButtonコントロールにはonClickというプロパティがあります(プロパティパネルでは「On Click」と呼ばれます).このプロパティでクリックイベントを処理するメソッド名を設定し、アクティビティで実装できます.たとえば、ButtonコントロールのプロパティをonButtonClickに設定できます.XMLでは、このプロパティは次のようになります.
android:onClick="onButtonClick"
次に、アクティビティクラスでは、このメソッドを実装する必要があります.これは、単一のパラメータ(Viewオブジェクト)を持つ共通のvoidメソッドである必要があります.たとえば、次のボタンをクリックすると、Buttonコントロールがクリックされたときに画面にメッセージボックスが生成されます.
package xyq.Android;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Button;import android.widget.Toast;import android.view.View.OnClickListener;//import android.widget.TextViewpublic class HelloWordActivity extends Activity { /** Called when the activity is first created. */ private Button btn1; @Override public void onCreate(Bundle abc) { super.onCreate(abc); /*TextView tv=new TextView(this); tv.setText(「こんにちは、アンドロイド!」); Button btn=new Button(this); //btn.setWidth(150); btn.setText(「ボタン1」); btn.setTextColor(Color.GREEN); Button btn2=new Button(this); btn 2.setText(「ボタン2」); LinearLayout layout=new LinearLayout(this); layout.addView(tv); layout.addView(btn); layout.addView(btn2); this.setContentView(layout);*/ setContentView(R.layout.main); } public void onButtonClick(View view) { Toast.makeText(this,「ボタン1をクリックしました」,Toast.LENGTH_SHOUT).show(); }}