(Modifié pour pouvoir comparer la chaîne) J'ai 1 TextView, et 2 boutons, un bouton est "Mois" l'autre bouton "Semaine". En essayant de changer le TextView en conséquence, appuyez sur le bouton appuyé par exemple Mois, Semaine Lorsque je lance l'activité pour la première fois, le "Mois" est affiché comme prévu. Après que j'appuie sur le bouton "Semaine" affiche toujours la "Semaine" dans le TextView, même si je clique sur le bouton "Mois" montre toujours la vue de la semaine.Comment changer une valeur pour une activité après avoir appuyé sur un bouton dans android?
débogage dit que quand je presse « Mois », « Mois » = « true », alors onCreate la valeur est toujours « vrai », mais dans la 1ère instruction If
if (extras != null){ // <-------here is still true
month = extras.getString(month); // <-------here is false
}
que des valeurs est tout à coup "faux"
Je sais que je pourrais mettre en settext dans les boutons, mais plus tard j'ajouterai des graphiques pour afficher des données, ainsi je voudrais être fait surCréer. Chaque fois qu'il crée la vue, il vérifie quelle vue est sélectionnée (en comparant la chaîne) et affiche le message et les graphiques. la première fois pour afficher la vue Mois.
Qu'est-ce que je fais de mal?
Heres le code
package com.isma.report;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class report1 extends Activity{
TextView viewtime;
String month = "true";
Intent starterIntent;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.report);
starterIntent = getIntent();
Bundle extras = getIntent().getExtras();
if (extras != null) {
month = extras.getString("month");
}
// Set the text
viewtime = (TextView) findViewById(R.id.StudentReportText);
if (month.equals("true")){
viewtime.setText("Monthly View");
}
if{month.equals("false")){
viewtime.setText("Weekly View");
}
//Month View Button
Button bMonth = (Button) findViewById(R.id.monthincome);
bMonth.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
starterIntent.putExtra(month, "true");
startActivity(starterIntent);
finish();
}
});
//Week View Button
Button bWeek = (Button) findViewById(R.id.weekincome);
bWeek.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
starterIntent.putExtra(month, "false");
startActivity(starterIntent);
finish();
}
});
}
}
Pouvez-vous confirmer les ID (de monthincome et monthincome) sont des boutons – Siva
ils sont monthincome et weekincome android: id = "@ + id/monthincome" android: id = "@ + id/weekincome " – Isma
certains où votre objet d'accès est null le déboguer et trouver où vous obtenez l'objet nul. – Siva