2
votes

Comment changer la couleur d'un TextView dans une activité en cliquant sur un bouton dans une autre?

J'ai deux activités, dans l'activité (1) J'ai un TextView, dans l'activité (2) j'ai un bouton. Je veux changer la couleur TextView dans l'activité (1) en cliquant sur le bouton dans l'activité (2) et enregistrer cette couleur. Comment puis-je faire cela?


7 commentaires

Donc je suppose que activity1 lance activity2?


Non, j'ai 1 activité qui lance 4 autres activités et ces 2 activités sont lancées par 1 activité principale


vous pouvez utiliser les préférences partagées pour enregistrer la valeur de la couleur, puis l'utiliser


oui, alors d'autres suggestions sur l'utilisation de la base de données ou des préférences partagées conviendront à votre cas ici


Comment puis-je faire ceci?? J'ai essayé, mais je ne pouvais pas faire ça


la préférence partagée est préférable pour vous essayez ceci


Si vous revenez à l'activité de visualisation de texte après avoir cliqué sur le bouton dans une autre activité, vous pouvez démarrerActivityForResult ()


5 Réponses :


0
votes

Vous devez utiliser une base de données pour conserver la couleur de la vue du texte et obtenir la couleur de la base de données. lorsque vous cliquez sur le bouton, vous pouvez le modifier dans la base de données.


1 commentaires

Il peut utiliser les préférences partagées, la base de données n'est pas sa seule option



3
votes

Vous pouvez enregistrer votre couleur avec les préférences partagées lorsque vous cliquez sur votre bouton et l'obtenir plus tard:

Dans l'activité 2 lorsque vous appuyez sur votre bouton :

PreferenceManager.getDefaultSharedPreferences(DriverScreen.this).getString(key, "default value")


0 commentaires

0
votes

Il existe de nombreuses solutions à votre problème

  1. Vous pouvez utiliser sharepreference.
  2. Vous pouvez utiliser une classe singleton.
  3. Vous pouvez utiliser un écouteur d'événements.
  4. Vous pouvez utiliser intent.putExtra () à cette fin

0 commentaires

0
votes

il y aura de nombreuses façons de réaliser ce que vous voulez, utilisez l'une d'entre elles selon votre choix.

Pour stocker la couleur du texte:

  1. Utiliser SharedPreference

  2. Utiliser la base de données Room ou SQLite

  3. Enregistrer la couleur dans la classe Singleton

  4. ou ouvrez une deuxième activité à l'aide de startActivityForResult () si vous revenez à la première activité après la fin du deuxième travail d'activité.

Pour changer la couleur du texte:

  1. Utilisez Listener pour changer la couleur du texte lorsque vous appuyez sur le bouton de la deuxième activité

  2. Utilisez EventBus si vous l'avez déjà implémenté dans votre projet

  3. Utilisation du récepteur de diffusion local (envoyer la diffusion à la 1ère activité après avoir cliqué sur le bouton de la 2ème activité)


0 commentaires

0
votes

il existe de nombreuses façons de changer la couleur du texte d'une autre activité.

D'abord

transmettez la valeur de couleur à l'aide de l'intention

Code

Main2Activity.java

  button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           //set color
            MainActivity.color=getResources().getColor(R.color.colorAccent);
            Intent intent=new Intent(Main2Activity.this,MainActivity.class);
            startActivity(intent);
        }
    });

MainActivity.java

XXX

Deuxième méthode

utiliser une variable statique

code

MainActivity.java

  static int color;
    android_text=findViewById(R.id.android_text);
    android_text.setTextColor(color);

Main2Activity.java

  android_text=findViewById(R.id.android_text);
    color=getIntent().getIntExtra("color",0);
    android_text.setTextColor(color);

entrez la description de l'image ici

après la mise à jour

 entrez la description de l'image ici p>

J'espère que son travail pour vous


0 commentaires