雑記帳

趣味や仕事の備忘録などを気分で書いてみます

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();
    }
}