So I want an intent to start an Activity that simply brings up a dialog popup box telling the user how to use the app.
I have the code:
private final View.OnClickListener btnClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.about_box:
Intent i = new Intent(this, About.class);
startActivity(i);
break;
}
}
}
but the Intent is giving me the error:
The constructor Intent(new View.OnClickListener(){}, Class) is undefined
Any idea on workarounds?
Thanks.
Change,
to,
The intent needs a context. However, using the this shortcut in the onClick function is not properly resolved. Different ways to provide current context in an anonymous inner class are - Use Context.this instead of this. - Use getApplicationContext() instead of this. - Explicitly use the class name MenuScreen.this. Call a function that is declared at the right context level.
Just change
to
Hope it works.
Change the intent line to: Intent intent = new Intent(ClassName.this, theNewClassName.class);
The problem is that you are inside another class there and are passing the Intent a wrong context. You have to pass it the right context. Take a look at the example below.