用eclipse开发android,用到的view.onclicklistener的使用方法
classonRelayButtonClickimplementsView.OnClickListener{privateintoperate_l,relayId_l;p...
class onRelayButtonClick implements View.OnClickListener
{
private int operate_l,relayId_l;
public onRelayButtonClick(byte relayId,byte operate)
{
relayId_l=relayId;
operate_l=operate;
}
Button bnActivity,bn;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
snd.play(hitOkSfx, (float)0.5, (float)0.5, 0, 0, 1);
if(hUiMsg==null) return;
Message msg=new Message();
msg.what=DataProcess.RELAYOPT;
msg.arg1=relayId_l;
msg.arg2=operate_l;
hUiMsg.sendMessage(msg);
}
}
这是一段例程,我想知道一般来说,复写Onclick方法时候可以手动生成public void onClick(View v)这个,但是他这里面的上面位置的public onRelayButtonClick(byte relayId,byte operate)是啥意思呢,是对这个类重新定义吗?还有他这些形参从哪里可以传进来呢,当一个按钮点击时,这两个函数都会被执行吗? 展开
{
private int operate_l,relayId_l;
public onRelayButtonClick(byte relayId,byte operate)
{
relayId_l=relayId;
operate_l=operate;
}
Button bnActivity,bn;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
snd.play(hitOkSfx, (float)0.5, (float)0.5, 0, 0, 1);
if(hUiMsg==null) return;
Message msg=new Message();
msg.what=DataProcess.RELAYOPT;
msg.arg1=relayId_l;
msg.arg2=operate_l;
hUiMsg.sendMessage(msg);
}
}
这是一段例程,我想知道一般来说,复写Onclick方法时候可以手动生成public void onClick(View v)这个,但是他这里面的上面位置的public onRelayButtonClick(byte relayId,byte operate)是啥意思呢,是对这个类重新定义吗?还有他这些形参从哪里可以传进来呢,当一个按钮点击时,这两个函数都会被执行吗? 展开
2个回答
2013-12-13
展开全部
public onRelayButtonClick是构造方法,比如你设置listener时,就是这样setOnClickListener(new onRelayButtonClick(参数))。
追问
能详细点吗,设置Listener时候一般在这个继承接口的外面,定义onRelayButtonClick Listener = new onRelayButtonClick(); 然后 用一个定义好的 private Button button;把这个对象和监听器联系起来,用button.setOnClickListener(Listener);这样子就能监听按钮了,他写成那样是什么意思呢?
追答
他在点按钮的时候要用到传入的relayId和operate,所以就定义了一个类继承View.OnClickListener。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
构造方法都不知道。你还学啥啊。构造方法跟你的类名相同。类实例化的时候执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询