2016-08-21 1 views
-5

Je veux afficher les informations de 7 EditText dans un Toast donc je mets les informations de textes d'édition dans 7 variables de chaîne mais je ne sais pas comment. Voici ce que j'écrit:Afficher les variables de chaîne dans un Toast

public class MainActivity extends Activity { 
     EditText ed1; 
     EditText ed2; 
     EditText ed3; 
     EditText ed4; 
     EditText ed5; 
     EditText ed6; 
     EditText ed7; 
     Button btn; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main2); 
      showinfo(); 
     } 

     private void showinfo() { 
      ed1= (EditText) findViewById(R.id.editText1); 
      ed2= (EditText) findViewById(R.id.editText2); 
      ed3= (EditText) findViewById(R.id.editText3); 
      ed4= (EditText) findViewById(R.id.editText4); 
      ed5= (EditText) findViewById(R.id.editText5); 
      ed6= (EditText) findViewById(R.id.editText6); 
      ed7= (EditText) findViewById(R.id.editText7); 
      btn= (Button) findViewById(R.id.button1); 
      /////// 
      btn.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View arg0) { 
        // TODO Auto-generated method stub 
        String str1 = ed1.getText().toString(); 
        String str2 = ed2.getText().toString(); 
        String str3 = ed3.getText().toString(); 
        String str4 = ed4.getText().toString(); 
        String str5 = ed5.getText().toString(); 
        String str6 = ed6.getText().toString(); 
        String str7 = ed7.getText().toString(); 
        //////////// 
        Toast.makeText(getApplicationContext(), ,Toast.LENGTH_LONG).show(); 
       } 
      }); 
     } 

Comment puis-je afficher toutes les variables de chaîne dans Toast?

+1

Vous cherchez 'Concatination'? Utilisez simplement StringBuilder. – Enzokie

Répondre

3

Si vous voulez afficher tout le contenu de EditText dans un Toast, puis il suffit d'utiliser concaténation

String concatenatedText = str1 + str2 + str3 + ... 

ou StringBuilder classe:

StringBuilder sb = new StringBuilder(); 
sb.append(str1); 
sb.append(str2); 
sb.append(str3); 
String concatenatedText = sb.toString(); 

et simplement passer le résultat comme second argument, comme ci-dessous :

Toast toast = Toast.makeText(context, concatenatedText, duration); 
0

C'est ce que android suggèrent

Context context = getApplicationContext(); 
CharSequence text = "Hello toast!"; 
int duration = Toast.LENGTH_SHORT; 

Toast toast = Toast.makeText(context, text, duration); 
toast.show(); 

vous pourriez faire pour vous quelque chose comme:

Contexte contexte = getApplicationContext(); texte String = str1 + str2 + str3 + ...

StringBuilder sb = new StringBuilder(); 
sb.append(str1); 
sb.append(str2); 
sb.append(str3); 
String finalMsgText = sb.toString(); 

Toast toast = Toast.makeText(context, finalMsgText , Toast.LENGTH_SHORT); 
toast.show(); 

le point avec cette façon de faire est que

quand str1 = "Bonjour"; str2 = "Xoce"; str3 = "Comment allez-vous?";

alors le msg dans le pain grillé sera comme:

"HelloXoceHow êtes-vous?";

donc tout fait ensemble pas pour l'utilisateur sence d'application ...

Solution:

StringBuilder sb = new StringBuilder(); 
sb.append(str1).append(", ");; 
sb.append(str2).append(", ");; 
sb.append(str3); 
String finalMsgText = sb.toString(); 

Toast toast = Toast.makeText(context, finalMsgText , Toast.LENGTH_SHORT); 
toast.show();