Comment définir le texte de TextView ?
Je suis confronté à un problème de paramètre le texte à TextView
dans android mon code est :
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.button1);
final TextView text = (TextView) findViewById(R.id.textView1);
final EditText input = (EditText) findViewById(R.id.editText1);
final String string = input.getText();
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
text.setText(string);
}
});
}
}
si j'écris
final Editable string = input.getText();
puis il travaille.....!!!!
Maintenant, je veux envoyer des données de EditText
à la prochaine Activity
comme ceci :
public class Main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.button1);
final TextView text = (TextView) findViewById(R.id.textView1);
final EditText input = (EditText) findViewById(R.id.editText1);
final Editable string = input.getText();
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Main.this, Second.class);
intent.putExtra("thetext", string);
startActivity(intent);
}
});
}
}
et dans Second.java
classe-je obtenir StringExtra
de cette façon:
public class Second extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
TextView text = (TextView) findViewById(R.id.textView2);
String string = getIntent().getExtras().getString("thetext", "not found");
text.setText(string); ///Here the text is not shown but the default message "not found" is set to `TextView`
}
}
Merci de me donner la façon de procéder dans le développement.
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème est que vous êtes en train de mettre un "Modifiable" dans l'intention, pas une Chaîne de caractères. Bien que proches, ils ne sont pas la même chose. Si vous toString() de votre Modifiables pour obtenir un objet de type String et placez-la dans l'intention, vous devriez être en mesure de sortir avec getString comme vous êtes en train de faire.
Le problème devrait être, vous l'envoyez
Editable
, pasString
. Essayez ceci:Essayer quelque chose comme cela:
(Indice: la façon La plus simple de poster le code est à coller votre code, sélectionnez-le, et utilisez ctrl+k pour le retrait/la formater.)
Selon les docs android, le nom de la chaîne de mise en extras doivent inclure un préfixe de paquet... c'est à dire som.arshay.dev.thetext
Deuxièmement, getExtras() renvoie un bundle, qui n'est pas ce que vous avez ajouté. Vous avez besoin
getStringExtra( name )
Dans cette ligne utilisation
au lieu de