setOnClickListener(this)报错——setOnClickListener can't be applied to MainActivity

问题描述

以下代码的11和12行的this,以及倒数第四行的@Override都有红波浪线,报错信息是:

setOnClickListener(android.view.View.OnClickListener) in View cannot be applied to
(com.example.YourUserName.YourModuleName.MainActivity)

public class MainActivity extends AppCompatActivity {
    ...

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

		...
        
        imgChooseButton.setOnClickListener(this);
        startColoringButton.setOnClickListener(this);


    }

    @Override
    public void onClick(View v){

    }

解决方法

MainActivity类的定义应当为:

public class MainActivity extends AppCompatActivity implements View.OnClickListener

更正后的完整代码如下:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    ...

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

		...
        
        imgChooseButton.setOnClickListener(this);
        startColoringButton.setOnClickListener(this);


    }

    @Override
    public void onClick(View v){

    }
发布了36 篇原创文章 · 获赞 41 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/umbrellalalalala/article/details/88534113