Error due to invalid combination of Toast and OnClickListener

Harsha M V picture Harsha M V · Dec 25, 2010 · Viewed 30.4k times · Source

I'm trying to use Toast inside OnCLickListener. My code triggers the following error:

The method makeText(Context, CharSequence, int) in the type Toast is not applicable for the arguments (new View.OnClickListener(){}, String, int)

This is my code:

    Button register = (Button) findViewById(R.id.register);
    register.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
            EditText name = (EditText)findViewById(R.id.name);
            String Lname = name.getText().toString();

            Toast.makeText(this, Lname, Toast.LENGTH_SHORT).show();



        }
    });

Answer

Computerish picture Computerish · Dec 25, 2010

As The Kenny said, this is refering to the View.OnClickListener instead of your Activity. Change this, to MyActivity.this.

For example,

public class MyActivity extends Activity {
// ... other code here
Toast.makeText(MyActivity.this, Lname, Toast.LENGTH_SHORT).show();