在 Toast 中显示字符串变量

Display string variables in a Toast

我想在Toast中显示7 EditText的信息,所以我把编辑文本信息放在7个字符串变量中,但我不知道如何。 这是我写的:

 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(); 
                }
            });
        }

如何显示 Toast 中的所有字符串变量?

如果你想把EditText的所有内容显示在一个Toast中,那就用拼接

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

StringBuilder class:

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

并将结果作为第二个参数传递,如下所示:

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

这就是android的建议

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

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

你肯定可以这样做:

上下文上下文 = getApplicationContext(); 字符串文本 = 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();

这条路要走的重点是

当 str1 = "Hello"; str2 = "Xoce"; str3 = "How are you?";

那么 toast 中的消息将如下所示:

"HelloXoceHow are you?";

因此所有内容对应用程序用户来说毫无意义...

解决方案:

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();