Coste
2011. 2. 24. 15:37
OnClickListener mClickListener = new OnClickListener() { public void onClick(View v) { switch (v.getId()) { case R.id.searchButton: Toast.makeText(this, "make Toast!!", Toast.LENGTH_SHORT).show(); break; } } }위 코드를 컴파일 하려고 하니 계속 에러가 났다.
에러는 아래와 같다.
The method makeText(Context, CharSequence, int) in the type Toast is not applicable for the arguments (new View.OnClickListener(){}, String, int)
여기서 컴파일이 되지 않았던 이유는 this 라는 것 때문이다.
검색을 해보니 아래와 같이 해결을 하라고 되어있다. "this" is refering to the View.OnClickListener instead of your Activity.
this가 엑티비티를 가라키는 것이 아니라 View.OnClickListener를 가리키고 있어서 그렇다.
검색을 해보니 아래와 같이 해결을 하라고 되어있다. "this" is refering to the View.OnClickListener instead of your Activity.
this가 엑티비티를 가라키는 것이 아니라 View.OnClickListener를 가리키고 있어서 그렇다.
그래서 위 코드를 아래와 같이 바꾸니까 해결되었다.
OnClickListener mClickListener = new OnClickListener() { public void onClick(View v) { switch (v.getId()) { case R.id.searchButton: Toast.makeText(Main.this, "make Toast!!", Toast.LENGTH_SHORT).show(); break; } } }