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

Rog*_*ger 0 android

假设我有这个代码,它创建一个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)

任何想法如何处理它?

谢谢!

She*_*aig 6

this在ImageView构造函数中是OnClickListener实例.您需要将它传递给Activity类的实例(即外部类).假设您的外部类被调用MyActivity,那么您应该传递MyActivity.this给ImageView构造函数