ContextCompat.getDrawable( ) 的上下文参数应该是什么?
What should be the context parameter for ContextCompat.getDrawable( )?
我在 setOnClickListeneraccording 中使用了另一个 post here
像这样:
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
start.setBackground(ContextCompat.getDrawable( this,R.drawable.buttonstop));
参数这是错误的
谢谢
您可以使用 v.getContext()
获取与 View
关联的 Context
。
如果您在 class 中名为 MainActivity
,您可以使用:
在 Kotlin 中:
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();
}
在Java中:
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());
使用
this
在 onclicklistener 中将引用您应该使用的侦听器
MainActivity.this or getActivity()
我在 setOnClickListeneraccording 中使用了另一个 post here
像这样:
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
start.setBackground(ContextCompat.getDrawable( this,R.drawable.buttonstop));
参数这是错误的 谢谢
您可以使用 v.getContext()
获取与 View
关联的 Context
。
如果您在 class 中名为 MainActivity
,您可以使用:
在 Kotlin 中:
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();
}
在Java中:
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());
使用
this
在 onclicklistener 中将引用您应该使用的侦听器
MainActivity.this or getActivity()