最常见的匿名类
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
Button button=(Button)findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//在此添加逻辑
}
});
}
}
内部类接口:
public class Main extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) this.findViewById(R.id.button);
button.setOnClickListener(new ButtonClickListener());
}
//在主函数中新添一个内部类,View v就是点击对象
private final class ButtonClickListener implements OnClickListener {
@Override
public void onClick(View v) {
//此处添加逻辑
}
}
}
另外一种写法:
实现接口:implements View.OnClickListener
public class MainActivity extends Activity implements View.OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//注册点击事件
Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v.getId()==R.id.button){
Toast.makeText(this,"Toast",Toast.LENGTH_SHORT).show();
}
}
}