一、使用反射方式来实现按钮的点击
public void onButtonClicked(View view)
{
TextView textView = (TextView) findViewById(R.id.id_text_test);
textView.setText("使用反射的方式来实现按钮的点击");
}
然后在在Layout中指定onClick属性
注意 public void xxx(View xxx)用黄色标识起来的是必须的,否则机制就会失效
二、给按钮设置监听器
注 View.OnClickListener是一个interface
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button) findViewById(R.id.id_button_2);
btn.setOnClickListener( new MyButtonListener());
}
private class MyButtonListener implements View.OnClickListener
{
@Override
public void onClick(View view)
{
TextView view = (TextView) findViewById ( R.id.id_text_hello );
view.setText("使用监听器的方式来实现按钮的单击");
}
}
注意:
(1)之所以声明为 private class,因为这个内部仅在内部使用
(2)在内部类里,可以直接调用外部类的方法: findViewById()
三、给按钮设置监听器(匿名内部类)
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.id_button_1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
TextView view = (TextView) findViewById ( R.id.id_text_test );
view.setText("使用匿名内部类来实现按钮的点击");
}
});
}