intdelay 在代码开头由 1000 初始化。 ,我正在尝试通过单击按钮添加祝酒词来确保 intdelay 的值由编辑框中的值更新。 ,但是运行应用程序时出现以下问题:
intdelay was initialized at the beginning of the code by 1000. and I am trying to make sure that intdelay's value is updated by the value in the edit box by adding a toast when the button is clicked. but when I run the app, I get the following problem:
Error:(46, 22) error: no suitable method found for makeText(<anonymous OnClickListener>,String,int) method Toast.makeText(Context,CharSequence,int) is not applicable (argument mismatch; <anonymous OnClickListener> cannot be converted to Context) method Toast.makeText(Context,int,int) is not applicable (argument mismatch; <anonymous OnClickListener> cannot be converted to Context)这是我的代码的一部分:
This is the part of my code:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); delayedttxt=(EditText)findViewById(R.id.delayedttxt); String delay=delayedttxt.getText().toString(); //this will get a string try{ int intdelay = Integer.parseInt(delay); }catch(NumberFormatException ex){ // handle your exception } Button btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { flashLight.switchFlash(); Toast.makeText(this,"your integer is " + intdelay , Toast.LENGTH_LONG).show(); } });我该如何解决?
推荐答案这是因为 makeText 希望将 Context 作为第一个参数。您位于 OnClickListener 的 onClick 函数中。这意味着此指向您的 OnClickListener 。 您必须有这样的东西
That's because makeText wants to have a Context as a first argument. You are inside the onClick function of an OnClickListener. This means that this points to your OnClickListener. You must have something like this
Toast.makeText(YourActivity.this,"your integer is " + intdelay , Toast.LENGTH_LONG).show();更多推荐
按钮OnclickListener内的烤面包不起作用
发布评论