解决方案 »

  1.   

    onClick(View v) 這裡的 View v 指的就是你所按下的那些控件。button,imageButton,toggleButton這些對象所屬的類,都是 View的子類,意思就是說,不管是普通按钮,图片按钮或是开关按钮,他們都是 View 的一種。
      

  2.   

    Button 继承ViewOnClickLisener是一个interface,需要重写onClick(View v)方法。个人猜测:View类里面应该也有OnclickListener的对象。setOnclickListener()应该是将这个对象赋值,然后实现了onClick(View v) 的方法。
      

  3.   

    自己理解的代码应该如下,只是打个比喻:
    public class View{
       private OnClickLisener mClickListener;
        public interface OnClickLisener{
              onClick(View v)
        }
        public void setOnClickLisener(OnClickLisener listener){
              mClickListener=listener;
         }
        public boolean onTouchEvent(MotionEvent event){
              if(mClickListener!=null){
                    mClickListener.onClick(this);
              }
              return true;
        }
    }
    public class TextView extends View{
    }
    public class MyActivity extends Activity implements View.OnClickLisener{
           public void oncreate(){
               TextView textView=new TextView();
               textView.setOnclickListener(this);
           }
           public void onClick(View v){
                //这里的v 就是View类中onTouchEvent方法中mClickListener.onClick(this);的this变量
           }
    }
      

  4.   

    看到你这样写,也是醉了
    找本java好好看看吧
    View是所有控件的基类,这里传入View表示用户点击的是哪一个控件,这样就可以多个控件注册到一个listener上就可以区分当前点击的是哪一个,不过一般这里应该是通过view.getId(),然后通过不同的id来区分的。