假设我有这个代码,它创建一个ImageView并将其放入linearlayout.
此外,我有一个OnClick监听器,应该在单击时删除旧的imageview并将其替换为新的.
但奇怪的是它显示"构造函数ImageView(新的View.OnClickListener(){})未定义".
final LinearLayout LinLayBtn = new LinearLayout(this);
ImageView ivBtn = new ImageView(this);
ivBtn = mkatt.makeKey( ivBtn, btnHue, btnSat, buttonScale, buttonScaleCnt, textAdjust, btnTextColor, buttonText, btnOpa, spacingLR, spacingTB);
LinLayBtn.addView(ivBtn);
LinLayBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
LinLayBtn.removeAllViews();
ImageView ivBtn = new ImageView(this); // The constructor ImageView(new View.OnClickListener(){}) is undefined
ivBtn = mkatt.makeKey( ivBtn, btnHue, btnSat, buttonScale, buttonScaleCnt, textAdjust, btnTextColor, buttonText, btnOpa, spacingLR, spacingTB);
LinLayBtn.addView(ivBtn);
}
});
Run Code Online (Sandbox Code Playgroud)
任何想法如何处理它?
谢谢!
this在ImageView构造函数中是OnClickListener实例.您需要将它传递给Activity类的实例(即外部类).假设您的外部类被调用MyActivity,那么您应该传递MyActivity.this给ImageView构造函数
| 归档时间: |
|
| 查看次数: |
2149 次 |
| 最近记录: |