Java 创建一个动态onClick(),它实现View.OnClickListener
目前我的代码是相当多的冗余代码,如下所示:Java 创建一个动态onClick(),它实现View.OnClickListener,java,android,imageview,onclicklistener,Java,Android,Imageview,Onclicklistener,目前我的代码是相当多的冗余代码,如下所示: iv_11.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int theCard = Integer.parseInt((String) view.getTag()); doStuff(iv_11, theCard); }
iv_11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int theCard = Integer.parseInt((String) view.getTag());
doStuff(iv_11, theCard);
}
});
iv_12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int theCard = Integer.parseInt((String) view.getTag());
doStuff(iv_12, theCard);
}
});
iv_13.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int theCard = Integer.parseInt((String) view.getTag());
doStuff(iv_13, theCard);
}
});
iv_14.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int theCard = Integer.parseInt((String) view.getTag());
doStuff(iv_14, theCard);
}
});
因此,我决定实现View.OnClickListener以使其成为动态的,因此在我的类中,我实现了View.OnClickListener,然后用以下代码替换上述代码:
iv_11.setOnClickListener(this);
iv_12.setOnClickListener(this);
iv_13.setOnClickListener(this);
iv_14.setOnClickListener(this);
最后,我添加以下代码:
public void onClick(View v) {
int theCard = Integer.parseInt((String) v.getTag());
doStuff(?, theCard);
}
问题是我应该在上面的问号中加什么?将视图参数作为
doStuff(v, theCard);
doStuff方法应按以下代码调用
doStuff((ImageView)v, theCard);
这里的doStuff可能是dostufv,card;在输入“v”之后,我得到了这个错误:错误的第一个参数类型。发现:'android.view.view',必需:'android.widget.ImageView'与questionprivate void doStuffImageView iv共享您的doStuff方法,int card{…}@Steve您可以共享您的整个doStuff方法吗