Java ContextCompat.getDrawable()的上下文参数应该是什么?
根据另一篇文章,我在setonclicklisteneral中使用了它 像这样:Java ContextCompat.getDrawable()的上下文参数应该是什么?,java,android,android-context,Java,Android,Android Context,根据另一篇文章,我在setonclicklisteneral中使用了它 像这样: start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { start.setBackground(ContextCompat.getDrawable( this,R.drawable.
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
start.setBackground(ContextCompat.getDrawable( this,R.drawable.buttonstop));
参数这是错误的
谢谢您可以使用
v.getContext()
获取与该视图相关联的上下文
,如果您在名为MainActivity
的班级中,您可以使用:
在科特林:
e、 g
在Java中:
e、 g
使用
在onclicklistener中,将引用您应该使用的侦听器
MainActivity.this or getActivity()
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());
this
MainActivity.this or getActivity()