2017-09-29 2 views
1

J'ai une classe avec la méthode toString() à priorité inversée. Il ressemble à celui-ci:Afficher une chaîne personnalisée dans les variables du débogueur

public class Foo { 

    private int debugInfo; 

    /* some code */ 

    @Override 
    public String toString() { 
     return "some-string"; 
    } 
} 

Dans l'onglet de débogage en studio Android dans « Variables », il a représenté sous forme de texte à partir toString: debugger view

Est-il possible de faire un message personnalisé pour débogueur à afficher dans ' Variables '? Je veux voir debugInfo la valeur du champ au lieu de toString sortie sans cliquer sur 'expand' flèche.

Je sais, existe analogique en langage C#, il est [DebuggerDisplay]attribute:

[DebuggerDisplay("info = {debugInfo}")] 
public class Foo 
{ 
    private int debugInfo; 
} 

Je veux quelque chose de similaire pour Java/Android.

Répondre

2

Lorsque vous déboguez, modifiez le toString() comme suit, et vous pouvez ensuite le changer pour ce que vous voulez après!

public class Foo { 

    private int debugInfo; 

    /* some code */ 

    @Override 
    public String toString() { 
     return debugInfo; 
    } 
}