[英]Can't get pass “this” argument Error with the onClickListner
What am I doing wrong here? 我在这里做错了什么? I can't get pass "this" argument Error with the onClickListner.
我无法通过onClickListner传递“ this”参数错误。
public void onClick(View V){
txt.setText("Button is Clicked");
Intent i = new Intent(Intent.ACTION_CALL);
String encodedHash = Uri.encode("#");
i.setData(Uri.parse("tel:"+"*804"+encodedHash));
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED)
{
return;
}
startActivity(i);
}
Please implement View.OnClickListener
because you must implement this interface alongside onClick()
method. 请实现
View.OnClickListener
因为您必须与onClick()
方法一起实现此接口。 Or you can try this code below: 或者您可以在下面尝试以下代码:
public Button btnClick;
btnClick=view.findViewById(R.id.btn_click);
btnClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txt.setText("Button is Clicked");
Intent i = new Intent(Intent.ACTION_CALL);
String encodedHash = Uri.encode("#");
i.setData(Uri.parse("tel:"+"*804"+encodedHash));
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED)
{
return;
}
startActivity(i);
}
});
Your question doesn't provide enough information but I think you are getting an error about passing an OnClickListener
instead of an Activity
because you're defining an inner anonymous class so this
refers to this anonymous class. 您的问题未提供足够的信息,但我认为您在传递
OnClickListener
而不是Activity
遇到错误,因为您正在定义内部匿名类,因此this
引用此匿名类。 If want to access your outer/container class you should call it like: OuterClass.this
or ( this@OuterClass
in kotlin): 如果想访问你的外部/容器类,你应该称呼它:
OuterClass.this
或( this@OuterClass
在科特林):
public void onClick(View V){ txt.setText("Button is Clicked");
Intent i = new Intent(Intent.ACTION_CALL);
String encodedHash = Uri.encode("#");
i.setData(Uri.parse("tel:"+"*804"+encodedHash));
if (ActivityCompat.checkSelfPermission(MyActivity.this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED)
{
return;
}
startActivity(i);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.