一:看程序
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 动态设置
Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button3);
button1.setOnClickListener(myListener);
button2.setOnClickListener(myListener);
// button1.setOnClickListener(new OnClickListener() {
// @Override
// public void onClick(View v) {
// Toast.makeText(MainActivity.this, "我是动态button",
// Toast.LENGTH_SHORT).show();
// }
// });
}
//setOnClickListener与OnClickListener解耦合
private View.OnClickListener myListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
Toast.makeText(MainActivity.this, "我是动态button1", Toast.LENGTH_SHORT).show();
break;
case R.id.button3:
Toast.makeText(MainActivity.this, "我是动态button3", Toast.LENGTH_SHORT).show();
break;
default:
Toast.makeText(MainActivity.this, "我是动态button1", Toast.LENGTH_SHORT).show();
break;
}
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
// xml配置按钮事件
// @SuppressLint("NewApi")解决版本问题
@SuppressLint("NewApi")
public void xmlClickFuc(View v) {
// 每点击一次按钮的位置右移10
v.setX(v.getX() + 10);
// Toast.makeText(MainActivity.this, "我是配置Button",
// Toast.LENGTH_LONG).show();
}
}
二:总结
单击事件onClickListener三种方式:
(1)动态设置方式
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "我是动态button",
Toast.LENGTH_SHORT).show();
}
});
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "我是动态button",
Toast.LENGTH_SHORT).show();
}
});
(2)配置方式
android:onClick="xmlClickFuc"
public void xmlClickFuc(View v) {
// 每点击一次按钮的位置右移10
v.setX(v.getX() + 10);
}
// 每点击一次按钮的位置右移10
v.setX(v.getX() + 10);
}
(3)可复用方式
button1.setOnClickListener(myListener);
button2.setOnClickListener(myListener);
button2.setOnClickListener(myListener);
//setOnClickListener与OnClickListener解耦合
private View.OnClickListener myListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
Toast.makeText(MainActivity.this, "我是动态button1", Toast.LENGTH_SHORT).show();
break;
case R.id.button3:
Toast.makeText(MainActivity.this, "我是动态button3", Toast.LENGTH_SHORT).show();
break;
default:
Toast.makeText(MainActivity.this, "我是动态button1", Toast.LENGTH_SHORT).show();
break;
}
}
};
private View.OnClickListener myListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
Toast.makeText(MainActivity.this, "我是动态button1", Toast.LENGTH_SHORT).show();
break;
case R.id.button3:
Toast.makeText(MainActivity.this, "我是动态button3", Toast.LENGTH_SHORT).show();
break;
default:
Toast.makeText(MainActivity.this, "我是动态button1", Toast.LENGTH_SHORT).show();
break;
}
}
};