Intention Android Impossible de résoudre le constructeur

J’ai une première classe qui étend Fragment et une deuxième classe qui étend son activité.

Mon fragment fonctionne correctement et mon code pour l’intention dans le fragment est:

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); } }); 

Mon code de classe MyClass est:

 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); } } 

L’erreur est:

Gradle: cannot find symbol constructor Intent(com.xxxx.xxxx.MyFragment,java.lang.Class)

Je ne sais pas où je me suis trompé.

Utilisation

 Intent myIntent = new Intent(v.getContext(), MyClass.class); 

ou

  Intent myIntent = new Intent(MyFragment.this.getActivity(), MyClass.class); 

pour démarrer une nouvelle activité. Cela est dû au fait que vous devez transmettre le contexte de l’application ou du composant en tant que premier paramètre à Intent Constructor lorsque vous créez une intention pour un composant spécifique de votre application.

Ou vous pouvez simplement démarrer l’activité comme indiqué ci-dessous;

 startActivity( new Intent(currentactivity.this, Tostartactivity.class)); 

Vous pouvez utiliser ceci:

 Intent intent = new Intent(getApplicationContext(), ClassName.class); 

Vous ne pouvez pas utiliser le Intent's Context l’ Intent's Context pour créer une intention. Vous devez donc utiliser Fragment's Context Parent Activity votre Fragment's

 Intent intent = new Intent(getActivity(),MyClass.class); 

Utiliser .getActivity() résout ce problème:

Par exemple

 Intent i= new Intent(MainActivity.this.getActivity(), Next.class); startActivity(i); 

J’espère que cela t’aides.

À votre santé.