我根据另一则帖子here
在setOnClickListener中使用它像这样:
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
start.setBackground(ContextCompat.getDrawable( this,R.drawable.buttonstop));
参数这是错误的 谢谢
答案 0 :(得分:1)
您可以使用v.getContext()
来获取与该Context
关联的View
。
答案 1 :(得分:0)
如果您在名为MainActivity
的课程中,可以使用:
this@MainActivity
例如
button.setOnClickListener(object : View.OnClickListener {
override fun onClick(v: View?) {
Toast.makeText(this@MainActivity, "Hello!", Toast.LENGTH_SHORT).show();
}
})
// Or in shorter way:
frame_layout.setOnClickListener {
Toast.makeText(this@MainActivity, "Hello!", Toast.LENGTH_SHORT).show();
}
MainActivity.this
例如
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(A.this, "Hello!", Toast.LENGTH_SHORT).show();
}
});
// Or in shorter way:
button.setOnClickListener(v -> Toast.makeText(MainActivity.this, "Hello!", Toast.LENGTH_SHORT).show());
答案 2 :(得分:0)
使用
this
onclicklistener中的
将引用您应使用的监听器
MainActivity.this or getActivity()