
privateButtonmBtnClick1
privateButtonmBtnClick2
privateButtonmBtnClick3
privateButtonmBtnClick4
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mBtnClick1= (Button)findViewById(R.id.btn_click1)
mBtnClick2= (Button)findViewById(R.id.btn_click2)
mBtnClick3= (Button)findViewById(R.id.btn_click3)
mBtnClick4= (Button)findViewById(R.id.btn_click4)
//第一种
mBtnClick1.setOnClickListener(this)
//第二种
mBtnClick2.setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View v) {
Toast.makeText(MainActivity.this,"第二种:你还点我?",Toast.LENGTH_SHORT).show()
}
})
//第三种
mBtnClick3.setOnClickListener(newMyClickListener())
//第四种
}
@Override
public voidonClick(View view){
Toast.makeText(this,"第一种:你点我?",Toast.LENGTH_SHORT).show()
}
//这种写法,一般不推荐,比较不专业。
public voidbtn4click(View view){
Toast.makeText(MainActivity.this,"第四种:你最后点我了,哈哈哈!!",Toast.LENGTH_SHORT).show()
}
private classMyClickListenerimplementsView.OnClickListener {
@Override
public voidonClick(View v) {
Toast.makeText(MainActivity.this,"第三种:你又点我?",Toast.LENGTH_SHORT).show()
}
}
}
https://github.com/FoxconnPeter/TopNews
因为Click事件的类型是EventHandler,其定义是 public delegate void EventHandler (Object sender,EventArgs e)。
也就是说,参数类型是固定的,所以你不能自己随便改。
可以这样做,动态创建button时,给button的tag(或者其他属性)赋值,使用的时候判断下就好了。
创建:
Button button = new Button()
button.Tag = 1
button.Click = button_Click
使用:
private void button_Click(object sender,EventArgs e)
{
Button button = sender as Button
if(button == null) return
if(button.Tag==1)
{
// to do ...
}
if(button.Tag==2)
{
// to do ...
}
}
PHP是服务器端代码 ,html是客户端代码,实现button的onclick事件,就是客户端调用服务器端函数,因此就得向服务器提交请求。有一种简单粗暴的方式,就是button是a标签时,可以直接在href里面写上要执行的php页面(或者通过给button绑定window.location通过JS跳转到PHP)。这种做法就得为每一个button设计一个PHP代码。
而我的做法是:事件+ajax 给button绑定点击事件,然后执行ajax。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)