J'utilise une condition que lorsque si la déclaration est vraie, elle rendra la mise en page invisible ou partie.
J'ai une mise en page de contrainte nommée "Courselayout" et j'appelle cette mise en page en Java faisant cela
ContrainteLayout ContrainteLayout1 = FindViewyID (r.id.courselayout); code>
Puis dans la déclaration si, j'utilise
contraintlayout1.setVisibilité (vue.Invisible); code>
Cela ne fonctionne pas et l'application se bloque pour ces lignes. Y a-t-il une autre façon d'appeler et d'opérer sur une mise en page de contrainte? Qu'est-ce que je fais mal? Voici le code Java. L'instruction IF fonctionne pour d'autres éléments sauf sur cette disposition de contrainte.
ConstraintLayout constraintLayout1 = findViewById(R.id.courseLayout);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Calendar calendar = Calendar.getInstance();
String currentDate = DateFormat.getDateInstance(DateFormat.FULL).format(calendar.getTime());
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DAY_OF_WEEK);
if(day==Calendar.FRIDAY){
constraintLayout1.setVisibility(View.INVISIBLE);
}
3 Réponses :
Votre vision d'initialisation en dehors de la méthode oncreate, ce n'est pas la façon dont vous avez besoin d'initialiser la vue à l'intérieur contraintlayout contraintlayout1 = wederviewyid (r.id.courselayout); code> p>
Oncreate () Code> P>
Ça a marché! Pour déclarer la variable publiquement, c'est ce qui a causé le problème. Merci
Ceci est la bonne réponse:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ConstraintLayout constraintLayout1 = findViewById(R.id.courseLayout); Calendar calendar = Calendar.getInstance(); String currentDate = DateFormat.getDateInstance(DateFormat.FULL).format(calendar.getTime()); Calendar cal = Calendar.getInstance(); int day = cal.get(Calendar.DAY_OF_WEEK); if(day==Calendar.FRIDAY){ constraintLayout1.setVisibility(View.INVISIBLE);
Merci. Corriguez mon erreur
Essayez d'utiliser Findvied em> à l'intérieur onecreate () em> BTW, vous avez oublié de fermer la déclaration conditionnelle avec {} strong> em> après contraintlayout1.setVisibilité (vue.Invisible); em> p> p> p> P>
ça a marché. L'erreur de support s'est produite dans le poteau en réalité, il existe plus de codes dans le code Java d'origine.
pouvez-vous me montrer le code ce que vous avez essayé
S'il vous plaît poster du code et la stacktrace
édité le message et ajouté le code Java. C'est ma première question tbh
Pourriez-vous s'il vous plaît ajouter le journal des crash. et déplacez le
contraintlayout contraintLayout1 = webviewide (r.id.courselayout); code> sous
setContentView (r.layout.activity_main); code>
Le code ne donne aucune erreur. Lorsque j'ouvre l'application, il quitte l'application. ne peux pas trouver le crashlog
Pour trouver le Crashlog, cliquez sur
logcat code> au bas de Android Studio, puis changez
verbose code> vers
erreur code>
Que diriez-vous d'essayer de déplacer la contrainteLayout ContrainteLayoutOnt1 = FindviewByID (r.id.courselayout); Sous SetContentView (r.layout.activity_main);