Assez nouveau au jeu de codage et souhaitez savoir si et comment je peux faire ce qui suit dans Android Studio.
J'ai une activité pour un type de jeu et trois mises en page: L'utilisateur peut basculer entre eux sur le bouton Appuyez sur le bouton, mais mon problème est que lorsque je passe de l'un à l'un des autres, il n'affiche pas les données qui se trouvaient dans la dernière, même si j'utilise les mêmes identifiants pour le Les champs et aimeraient savoir comment puis-je éviter que cela se produise. p>
Malheureusement, je n'ai aucun code pour cela maintenant parce que j'ai supprimé le projet de commencer à partir de zéro en raison d'autres problèmes. P> layout_main code>,
layout_opt1 code>,
layout_opt2 code>. Ils font tous la même chose, il suffit de concevoir différents designs afin que l'utilisateur puisse choisir le meilleur pour son besoin ou sa préférence. P>
3 Réponses :
Vous avez dit que les mises en page font la même chose, mais ont des conceptions différentes. Pouvez-vous s'il vous plaît exprimer comment sont différentes conceptions? (Comme différents boutons ou arrière-plans ou autre, comme vous l'avez dit, c'est un jeu) Il est difficile de suggérer quelque chose qui ne comprend pas le concept clairement. P>
dépend de la manière dont vous changez les mises en page. Vous pouvez utiliser des fragments ou essayer de définir la visibilité (afficher / disparaître) des widgets conservant des données et des fonctionnalités de la même activité persistantes. Mais ne peut pas dire avec certitude sans assez d'informations. Merci. P>
Chaque mise en page comporte exactement les mêmes éléments, mais ils sont regroupés d'une manière différente. Par exemple, j'ai quelque chose comme un panneau de score que peut être au bas de l'écran ou au milieu d'un séparateur.
Si vous souhaitez utiliser 3 dispositions différentes pour un type d'utilisation d'activité comme 1,2,3. P>
et avant le type de vérification de la vue SetContent, puis SinseContentView Définissez la mise en page et les méthodes d'appel souhaitées pour cette mise en page spécifique à l'aide de la vérification de type. P>
Vous pouvez utiliser des fragments pour une meilleure gestion du code. P>
Utilisez Utiliser
quatrième tour h2>
contrainteset code> pour une meilleure optimisation et une meilleure gestion de la mémoire. P>
C'est le moyen le plus rentable de faire ce que vous voulez faire. Cette méthode enregistre la mémoire et ne force pas l'android à repousser la mise en page complète à l'écran, ce qui permet de gagner beaucoup de processus ainsi que de la mémoire.
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="8dp"
android:onClick="changeLayout"
android:text="Change Layout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="BTN A"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline"
app:srcCompat="@android:drawable/btn_star_big_on" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="BTN B"
app:layout_constraintBottom_toBottomOf="@+id/button2"
app:layout_constraintEnd_toStartOf="@+id/imageView"
app:layout_constraintStart_toEndOf="@+id/button2"
app:layout_constraintTop_toTopOf="@+id/imageView" />
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.3" />
</android.support.constraint.ConstraintLayout>
Une autre question liée à cela. L'une des mises en page ne devrait pas changer de rotation du téléphone. Basé sur ce que j'ai trouvé dans d'autres messages, l'orientation de l'écran est empêchée du manifeste. Existe-t-il une ligne que je peux inclure dans le XML de ma mise en page ou dois-je empêcher l'orientation de changer de manière programmative lorsque l'utilisateur passe à cette mise en page spécifique?