【发布时间】:2018-10-30 04:32:28
【问题描述】:
目前我的代码是相当多的冗余代码如下:
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()可能是doStuff(v, theCard); -
输入'v'后,我得到了这个错误:错误的第一个参数类型。找到:'android.view.View',需要:'android.widget.ImageView'
-
与问题分享您的
doStuff()方法 -
private void doStuff(ImageView iv, int card) { ... }
-
@Steve 可以分享你的整个
doStuff()方法
标签: java android imageview onclicklistener