Android ボタンクリック処理の実装
Androidアプリでボタンクリック処理の実装方法についてメモします。
ボタンに対して、OnClickListnerをセットして、クリックイベントを拾えるようにします。
OnClickListnerインターフェースの実装
クラスの宣言に"implements View.OnClickListener"を追加します。
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
ボタンにOnClickListnerをセットする
ButtonクラスのSetOnClickListnerメソッドを使用します。
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(this); } }
OnClickメソッドの実装
ボタンがクリックされるとOnClickメソッドが呼び出されます。
OnClickメソッドの引数のViewでボタンを判別して処理を分けることができます。
下記のコードではクリック時にトーストを表示させます。
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(this); } } @Override public void onClick(View aView) { switch (aView.getId()) { case R.id.button1: buttonClick(); break; default: break; } } private void buttonClick() { Toast.makeText(this, "test", Toast.LENGTH_SHORT).show(); } }