Java thisの使い方
thisとMainActivity.thisとの書き分けがわかりません
ボタンクリック判定でボタンをクリックした後トーストを表示するプログラムを、リスナーで記述した場合と匿名クラスで記述した場合で()内の指定方法が違っていました。
thisとMaintActivity.thisでなぜ指定方法が違うのでしょうか?
リスナーを使ったボタンクリック判定(this)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn2=findViewById(R.id.button2);
btn2.setOnClickListener(this);
}
@Override
public void onClick(View v){
if(v.getId()==R.id.button2){
Toast.makeText(this,"押された",Toast.LENGTH_SHORT).show();
//thisが使われている
}
}
匿名クラスを使ったボタンクリック判定(MainActivity.this)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"押された",Toast.LENGTH_SHORT).show();
//MainActivity.thisが使われている
}
});
}
0 likes