getBooleanExtra() en utilisant uniquement la valeur par défaut de l'argument et non l'on est passé par putExtra()
Voici le code. Dans cette partie, le answerIsTrue
variable doit être initialisée à true, ce qui, à juste titre, il n' (j'ai débogué et vérifié) et est à juste titre également passé dans putExtra() (encore une fois, j'ai débogué et vérifié).
mCheatButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent i = new Intent(QuizActivity.this, CheatActivity.class);
boolean answerIsTrue = mQuestionBank[mCurrentIndex].isTrueQuestion();
i.putExtra(CheatActivity.EXTRA_ANSWER_IS_TRUE, answerIsTrue);
startActivity(i);
}
});
Mais de venir à une autre classe, la variable mAnswerIsTrue
est affectée à la valeur false (probablement en raison de l'argument par défaut) en dépit de l'argument étant passé par putExtra() est vrai. Voici le code.
mAnswerIsTrue = getIntent().getBooleanExtra(EXTRA_ANSWER_IS_TRUE, false);
J'ai débogué cette ligne en tant que bien, et il est affecté à la valeur false. Quel peut être le problème?
Voici la complète CheatActivity
classe:
public class CheatActivity extends Activity {
public static final String EXTRA_ANSWER_IS_TRUE = "com.bignerdranch.android.geoquiz.answer_is_true";
private Button mShowAnswerButton;
private boolean mAnswerIsTrue;
private TextView mAnswerTextView;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cheat);
mAnswerIsTrue = getIntent().getBooleanExtra(CheatActivity.EXTRA_ANSWER_IS_TRUE, false);
mAnswerTextView = (TextView)findViewById(R.id.answerTextView);
mShowAnswerButton = (Button)findViewById(R.id.showAnswerButton);
mShowAnswerButton.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
if (mAnswerIsTrue){
mAnswerTextView.setText(R.id.true_button);
}else{
mAnswerTextView.setText(R.id.false_button);
}
}
});
}
}
Remarque: je suis un débutant complet, qui viens d'apprendre le débogage.
Juste essayé. Apparaît toujours comme faux. Quoi et où est le problème? J'espère que vous vouliez envoyer codés en dur un vrai utilisant putExtra(). C'est ce que j'ai essayé, et le problème persiste encore.
Whats les valeurs de
EXTRA_ANSWER_IS_TRUE
? Peut-être que c'est la correspondance avec quelque chose d'autre. Sinon pour ton code a l'air correct.êtes-vous sûr que vous mettez en vrai, dans l'intention
voici ce que j'ai déclaré EXTRA_ANSWER_IS_TRUE être
public static final String EXTRA_ANSWER_IS_TRUE = "com.bignerdranch.android.geoquiz.answer_is_true";
OriginalL'auteur Slay | 2014-06-26
Vous devez vous connecter pour publier un commentaire.
Je ne peux pas être sûr, mais je crois que, getBooleanExtra() n'est pas bon. Je suggère à l'aide de simples getExtras et l'obtention de votre valeur.
OriginalL'auteur Alpha
Dans votre
CheatActivity
initialisermAnswerIsTrue
dansonCreate()
comme ceci:Lolz. Alors plz poster votre code de
CheatActivity
.mAnswerIsTrue a en effet toujours été déclarée à l'intérieur d'onCreate. Ne fonctionne toujours pas. J'ai mal compris votre question d'interprétation vous posiez des questions sur EXTRA_ANSWER_IS_TRUE étant à l'intérieur de onCreate(), ce qui n'est pas(évidemment). Désolé à ce sujet. De toute façon, cela ne fonctionne toujours pas. Tout ce qui pourrait mal se passer?
OriginalL'auteur M-WaJeEh
pour obtenir les données, utilisez le code
bouton cliquez sur utiliser le code
J'ai déjà réglé, et la valeur transmise est vrai. Voici où ça devient faux:
mAnswerIsTrue = getIntent().getBooleanExtra(CheatActivity.EXTRA_ANSWER_IS_TRUE, false);
. Vérifier le code dans la description pour plus de contexte.OriginalL'auteur Nithinlal
" Ctrl + B " pour obtenir de la méthode dans l'API. (android studio)
defaultValue la valeur à renvoyer si aucune valeur souhaitée
le type est stocké avec le nom donné.
OriginalL'auteur J luo
Chaque fois que vous faites pivoter votre écran, vous devriez appeler pullExtra méthode. Je suis en train d'apprendre Android, mais il me semble que chaque fois que méthode onCreate est appelée, l'application Android oublie toutes les informations au sujet de l'intention.
Mon code pour que les parties ressemble à ceci:
...
OriginalL'auteur Ignacio Medina