给Button设置响应事件的4种方式
方法1:通过匿名内部类
//布局文件Button中添加
android:id="@+id/button1"
//java代码中添加
TextView v = (Button) findViewById(R.id.button1);
v.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
System.out.println("my first button");
}
}
);
方法2:在xml里设置onclick属性
//布局文件button中添加
android:onClick="submit"
//java代码中添加
public void submit(View v)
{
Toast.makeText(Main2Activity.this, "切换图片", Toast.LENGTH_SHORT).show();
}
方法3:设置非匿名类
//布局文件中添加
android:id="@+id/button1"
//Java代码中添加
class MyBottonlisenner implements View.OnClickListener
{
@Override
public void onClick(View v)
{
//执行的操作内容
Toast.makeText(Main2Activity.this, "切换图片", Toast.LENGTH_SHORT).show();
mImageView.setImageResource(R.mipmap.preview_icons_0);
}
//oncreated中添加
MyBottonlisenner lisenner = new MyBottonlisenner();
mButton2.setOnClickListener(lisenner);
方法4:让Activity 作为监听器
//布局文件中添加(按钮实现切换图片的功能,两个控件)
android:id="@+id/changeImage_Button"
android:id="@+id/image_1"
//java代码activity实现接口View.OnClickListener,重写onClick()方法
@Override
public void onClick(View v)
{
int id = v.getId();
switch (id)
{
case changeImage_Button :
mImageView = (ImageView) findViewById(R.id.image_1);
Toast.makeText(Main2Activity.this, "切换图片", Toast.LENGTH_SHORT).show();
mImageView.setImageResource(R.mipmap.preview_icons_0);
break;
case R.id.button1:
break;
}
//在oncreated中设置监听
findViewById(R.id.image_1).setOnClickListener(this);
findViewById(R.id.changeImage_Button).setOnClickListener(this);