1
votes

Android Studio - Impossible de résoudre la méthode 'setText (double)'

J'ai initialisé une variable double et je souhaite l'afficher dans un TextView.
Le nom de la variable est souligné en rouge.
J'ai essayé de l'analyser en une chaîne, mais cela n'a pas fonctionné.

public class MainActivity extends AppCompatActivity {

    Location currentloc = new Location("currentloc");

    double currlat = 0.0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView gpsbox = (TextView) findViewById(R.id.gpsView);

        try {
            currlat = currentloc.getLatitude();
        } catch(Exception e) {
            Toast.makeText(this, "Hello, an exception was just thrown but I catched it. " + e.toString(), Toast.LENGTH_SHORT).show();
        }

        gpsbox.setText(currlat);

        setContentView(R.layout.activity_main);
    }
}


3 commentaires

setContentView (R.layout.activity_main); appelle toujours en haut


Votre code ne doit pas venir avant setcontentview ...


Et essayez de lire sur l'implémentation MVVM sous Android. Le modèle God Object n'est pas conseillé lors de la création d'applications Android.


3 Réponses :


6
votes

vous devez partager ceci avec String par

String.valueOf(currlat);

J'espère que cela fonctionnera avec vous.


0 commentaires

3
votes

essayez ceci

setContentView(R.layout.activity_main);
TextView gpsbox = (TextView) findViewById(R.id.gpsView);

    try {
        currlat = currentloc.getLatitude();
    } catch(Exception e) {
        Toast.makeText(this, "Hello, an exception was just thrown 
     but I catched it. " + e.toString(), Toast.LENGTH_SHORT).show();
    }

    gpsbox.setText(String.valueOf(currlat));


0 commentaires

1
votes

Il y a 2 erreurs dans le code.

  1. La vue d'ensemble du contenu est utilisée après findViewById qui lèvera une exception.
  2. double doit être enveloppé avec la méthode String.valueOf () pour être converti en chaîne.

    La classe publique MainActivity étend AppCompatActivity {

    Location currentloc = new Location("currentloc");
    
    double currlat = 0.0;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView gpsbox = (TextView) findViewById(R.id.gpsView);
    
        try {
            currlat = currentloc.getLatitude();
        } catch (Exception e) {
            Toast.makeText(this, "Hello, an exception was just thrown but I catched it. " + e.toString(), Toast.LENGTH_SHORT).show();
        }
    
        gpsbox.setText(String.valueOf(currlat));
    
    }
    

    }


0 commentaires