Android OnClickListener onLongClickListener逻辑

Android OnClickListener onLongClickListener逻辑,android,onclicklistener,Android,Onclicklistener,最近我开始从零开始编程,我正在学习NewBoston的教程,我不知道它是如何工作的,我也找不到任何答案。这就是我正在努力解决的代码,它可以工作,但我不明白为什么会有一个新按钮。单击listener然后单击listener在这些方法中视图v来自哪里??是的,我对对象编程的了解可能比它所要求的要少一些,但我真的不喜欢用其他的方法学习 Button przycisk = (Button) findViewById(R.id.mojprzycisk); przycisk.setOnClickL

最近我开始从零开始编程,我正在学习NewBoston的教程,我不知道它是如何工作的,我也找不到任何答案。这就是我正在努力解决的代码,它可以工作,但我不明白为什么会有一个新按钮。单击listener然后单击listener在这些方法中视图v来自哪里??是的,我对对象编程的了解可能比它所要求的要少一些,但我真的不喜欢用其他的方法学习

Button przycisk = (Button) findViewById(R.id.mojprzycisk);

    przycisk.setOnClickListener(
            new Button.OnClickListener() {
                public void onClick(View v) { WHERE THIS  V IS FROM ?
                    TextView mojtekst = (TextView) findViewById(R.id.mojtekst);
                    mojtekst.setText("Good job Boss");

                }
            }


    );
    przycisk.setOnLongClickListener(
            new Button.OnLongClickListener() {

                public boolean onLongClick(View v){   <-----WHERE IS IT FROM?
                    TextView mojtekst = (TextView)   findViewById(R.id.mojtekst);
                    mojtekst.setText("HOLY CARP THAT WAS A LONG ONE");
                return true;}}



    );
Button przycisk=(Button)findViewById(R.id.mojprzycisk);
przycisk.setOnClickListener(
新建按钮。OnClickListener(){
public void onClick(视图v){此v来自何处?
TextView mojtekst=(TextView)findViewById(R.id.mojtekst);
mojtekst.setText(“干得好的老板”);
}
}
);
przycisk.setOnLongClickListener(
新建按钮。OnLongClickListener(){
仅长按公共布尔值(视图v){您应该研究java。本文还提供了一个很好的java教程。一旦您理解了接口的概念,您就可以看到and是接口,它们有and之类的方法,在单击或长时间单击特定视图时调用。它们返回单击并保持的视图

当你说

przycisk.setOnClickListener(
            new Button.OnClickListener() {
                public void onClick(View v) { WHERE THIS  V IS FROM ?
                    TextView mojtekst = (TextView) findViewById(R.id.mojtekst);
                    mojtekst.setText("Good job Boss");

                }
            }


    );
您正在创建接口的新实例。为了便于阅读,上述代码也可以编写如下

Button.OnClickListener onClickListener = new Button.OnClickListener() {

    @Override
    public void onClick(View v) {
        TextView mojtekst = (TextView) findViewById(R.id.mojtekst);
        mojtekst.setText("Good job Boss");
    }
};
przycisk.setOnClickListener(onClickListener);
因此,基本上您正在创建接口的一个实例,由于它是一个接口,您需要重写方法
onClick()
,并给出它的定义


简而言之,无论您设置了
onClickListener
还是
onlongclickstener
,该视图都将在
onClick(视图v)
onLongClick(视图v)中返回
方法。该视图将是
v

视图v
视图
,例如您单击/长时间单击的
按钮和
图像按钮。它在该代码中的位置是什么?为什么我们将()很多方法?哇,是的,我得到了,谢谢你的链接。CaveOfProgramming提到过,我不得不忘记,或者我没有完全理解他,这让我忘记了。。。