如何启动活动设置只有一个onclicklistener

时间:2014-03-21 15:01:56

标签: android performance

所以我有这个代码,我想避免为我的每个按钮设置onclicklistener方法。 有没有办法避免这样做??

        @Override
        public void onClick(View v) {
            Intent jus = new Intent (Home.this,jus.class);
            startActivity(jus);
        }

    });
    sweets.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            Intent sweets = new Intent (Home.this,sweets.class);
            startActivity(sweets);
        }

    });
    patisserie.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View v) {
            Intent patisserie = new Intent (Home.this,patisserie.class);
            startActivity(patisserie);
        }

    });

2 个答案:

答案 0 :(得分:0)

试试这个..

您的活动必须implements OnClickListener

内部OnCreate()

    sweets.setOnClickListener(this); 
    patisserie.setOnClickListener(this); 

然后在OnCreate()

之后
@Override
public void onClick(View v) { 

    switch(v.getId()){
       case R.id.sweetsbuttonid:
         // do stuff related sweets click
         break;
       case R.id.patisseriebuttonid:
         // do stuff related patisserie click
         break;
     }

}

答案 1 :(得分:0)

您可以创建一个实现OnClickListener的类,您可以使用预设活动接受Intent参数。这样参数活动就会启动,但是监听器都将是同一个父实例。无需重新编写代码。