※前提条件:本情報はAndroid Studio 1.5.1を基づいて説明してる
package a.a; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class AActivity extends Activity { /** Called when the activity is first created. */ EditText Ev1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Ev1 = (EditText)findViewById(R.id.editText1); //方法1 Button Btn1 = (Button)findViewById(R.id.button1);//ボタン取得 Btn1.setOnClickListener(new Button.OnClickListener(){//リスナー作成 public void onClick(View v) { String strTmp = "Click Button01"; Ev1.setText(strTmp); } }); //方法2 Button Btn2 = (Button) findViewById(R.id.button2);//ボタン取得 Btn2.setOnClickListener(listener);//リスナーの設定 //方法4 ButtonListener b = new ButtonListener(); mButton = (Button) findViewById(R.id.btnAppendDevice); mButton.setOnClickListener(b); mButton.setOnTouchListener(b); } //方法2 Button.OnClickListener listener = new Button.OnClickListener(){//リスナー作成 public void onClick(View v){ String strTmp="Click Button02"; Ev1.setText(strTmp); } }; //方法3(Android1.6以降が提供) public void Btn3OnClick(View view){ String strTmp="Click Button03"; Ev1.setText(strTmp); } }
方法4的Listener
class ButtonListener implements View.OnClickListener, View.OnTouchListener { public void onClick(View v) { if (v.getId() == R.id.btnAppendDevice) { Log.d("test", "cansal button ---> click"); } } public boolean onTouch(View v, MotionEvent event) { if (v.getId() == R.id.btnAppendDevice) { if (event.getAction() == MotionEvent.ACTION_UP) { Log.d("test", "cansal button ---> cancel"); //mButton.setBackgroundResource(R.drawable.green); } if (event.getAction() == MotionEvent.ACTION_DOWN) { Log.d("test", "cansal button ---> down"); //mButton.setBackgroundResource(R.drawable.yellow); Intent intent = new Intent(); intent.setClass(MainActivity.this, EspTouchActivity.class); startActivity(intent); } } return false; } }
<?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" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <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" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button3" android:onClick="Btn3OnClick"/> <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" > <requestFocus /> </EditText> </LinearLayout>
コメント: