如何禁用与多个视图关联的onClick方法?

时间:2018-01-06 21:49:02

标签: java android layout onclick

我不想让用户能够点击各种图片(其中包含onClick ="标记")并调用方法标记()。

方法标记:

public void mark(View view){
    ImageView counter = (ImageView) view;
    counter.setTranslationY(-1000f);
    sett(view);
}

相反,我只希望在调用方法时可以访问方法retro()。 方法复古:

public void retro(View v){
    Button bq = (Button) findViewById(R.id.b1) ;
    bq.setVisibility(Button.VISIBLE);
    bq.animate().alpha(1f).setDuration(2000);
    //restart(bq);
}

那么我应该添加到retro()以禁用mark()

1 个答案:

答案 0 :(得分:0)

因此,您知道哪个View正在调用该方法。它就像为你的活动实现OnClickListener一样,创建的方法是onClick(View v)(或者取决于你的Eclipse的arg0),从xml定义它只是为View指定一种监听器,而方法来自作为那个论点的听众。

进入方法后,您可以切换按钮的ID,执行不同的操作:

public void myOnClickMethod(View v)
{
switch(v.getId())
{
   case R.id.button1:
      //Do something for button 1
   break;
   case R.id.button2:
      //Do something for button 2
   break;
}
}

简而言之。当您定义android时,Android只为您实现OnClickListener:onClick =" myOnClickMethod"属性。