目前,我的代码有很多冗余代码,如下所示:
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);
}
问题是我应该在上面的问号中输入什么?
答案 0 :(得分:1)
doStuff方法应按以下代码调用。
doStuff((ImageView)v, theCard);
答案 1 :(得分:0)
将视图参数传递为
doStuff(v, theCard);