public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
Log.d("FirstActivity","haha");
Button button1=(Button)findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(FirstActivity.this,"Clicked",Toast.LENGTH_SHORT).show();
}
});
}
}
其中有几个重点:
- findViewById方法返回值类型为View,需加括号强制类型转换为子类
- setOnClickListener方法中,参数为创建一个匿名内部类,实现View.OnClickListener接口
Toast.makeText第一个参数Context,activity便是一种context
- 当用户点击按钮时,
Button
会调用其performClick()
方法。performClick()
方法会检查是否注册了OnClickListener
,如果注册了,就会调用监听器的onClick(View v)
方法。