I have a first class extending Fragment, and a second class extending Activity.
My Fragment is working fine, and my code for the Intent in the Fragment is :
ImageButton button= (ImageButton) getView().findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(MyFragment.this, MyClass.class);
MyFragment.this.startActivity(myIntent); }
});
My class MyClass code is :
public class MyClass extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
}
@Override
protected void onStart() {
super.onStart();
setContentView(R.layout.MyClass);
}
}
The error is :
Gradle: cannot find symbol constructor Intent(com.xxxx.xxxx.MyFragment,java.lang.Class<com.xxxx.xxxx.MyClass>)
I don't know where I went wrong.
You Can not Use the
Intent's Context
for Creating Intent. So You need to use yourFragment's
Parent Activity
Context
Or you can simply start the activity as shown below;
You may use this:
Use
or
to start a new Activity. This is because you will need to pass Application or component context as a first parameter to the Intent Constructor when you are creating an Intent for a specific component of your application.
For eg.
Hope this helps.
Cheers.