J'essaye de créer un LinearLayout fait sur commande (sur Android), mais je continue à recevoir des erreurs de compilateur en essayant de l'employer dans ma classe principale d'activité. Le LinearLayout étendu a besoin d'un Context qui lui est passé par le constructeur, mais je ne sais pas où obtenir ce Context. Tous les exemples que je vois montrent le passage de ce pointeur de l'activité. Qu'est-ce que je fais mal?Android: ne peut pas trouver le constructeur pour custom LinearLayout
d'erreur du compilateur
MyApp.java:15: cannot find symbol
symbol: constructor BoardLayout(com.test.program.MyApp)
location: class com.test.program.BoardLayout
BoardLayout board = new BoardLayout(this);
BoardLayout.java
public class BoardLayout extends LinearLayout {
public void BoardLayout(Context context) {
// initialisation code
}
public BoardLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
MyApp.java
public class MyApp extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BoardLayout board = new BoardLayout(this); // Doesn't work!
setContentView(board);
}
}
Solution:
On dirait que le problème était deux problèmes.
- Les constructeurs n'ont pas de type void (erreur négligente de ma part).
- Doit appeler "super (contexte)" comme première instruction dans le constructeur.
importez-vous votre classe BoardLayout? – RoflcoptrException