Android 在OnClickListener中,它给出了“-”;构造函数ImageView(new View.OnClickListener(){})未定义";?

Android 在OnClickListener中,它给出了“-”;构造函数ImageView(new View.OnClickListener(){})未定义";?,android,Android,假设我有这段代码,它创建了一个ImageView并将其放入一个linearlayout中 我还有一个OnClick监听器,它应该在单击时删除旧的imageview并用新的替换它 但奇怪的是,它显示“构造函数ImageView(new View.OnClickListener(){})未定义” 有什么办法吗 谢谢 此在ImageView构造函数中是OnClickListener实例。您需要将活动类(即外部类)的实例传递给它。假设您的外部类名为MyActivity,那么您应该将MyActivity传

假设我有这段代码,它创建了一个ImageView并将其放入一个linearlayout中

我还有一个OnClick监听器,它应该在单击时删除旧的imageview并用新的替换它

但奇怪的是,它显示“构造函数ImageView(new View.OnClickListener(){})未定义”

有什么办法吗


谢谢

在ImageView构造函数中是OnClickListener实例。您需要将活动类(即外部类)的实例传递给它。假设您的外部类名为
MyActivity
,那么您应该将
MyActivity传递给ImageView构造函数。这个
在ImageView构造函数中是OnClickListener实例。您需要将活动类(即外部类)的实例传递给它。假设您的外部类名为
MyActivity
,那么您应该将
MyActivity传递给ImageView构造函数。警告:您定义了两次
ivBtn
。一次作为字段,另一次作为局部变量,在
onClick()方法中。警告:您定义了
ivBtn
两次。一次作为字段,另一次作为局部变量,在
onClick()方法中。
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);

    }
   });