关于多个控件的响应事件

在一个项目中,如果有几十个控件的ID需要得到并且每个控件都有自己的点击响应事件,我是不是只能一个个的去声明并且用findviewbyId得到控件的ID,再然后每一个控件都给它写一个响应事件 有没有简单一点的方法 多谢

截获程序消息队列,检索ID,消息,如果需要处理就处理。相同的处理就共用一段代码。

findViewById(id).setOnClickListener(this); 可以写一个循环:

 mMainView = li.inflate(R.layout.pv_yu_yue, null);
        for (int id : new int[] {
            R.id.a,R.id.b, R.id.c,
                R.id.d, R.id.e,R.id.f, 
                等等.............}) {
            mMainView.findViewById(id).setOnClickListener(this);
        }

响应事件:

 @Override
    public void onClick(View v) {
        int id = v.getId();
        String screenSize = Global.sWidth > 1200 ? "&s=1" : "";
        switch (id) {
        case R.id.a: {
                响应事件
        }
            break;
        case R.id.b: {
            响应事件
        }
        等等
        ....
        ....
    }

我是这样做的...................................

不太清楚你这些控件是随机生成的还是固定的,如果是随机生成的那更简单,重写他的监听再控件集合中调用即可

 class ItemOnClickListener implements OnClickListener {
        int id;

        public ItemOnClickListener(int id) {
            super();
            this.id = id;
        }

        @Override
        public void onClick(View v) {
            响应时间
        }
    }