首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Intent 傳遞多行文本到郵件:用 StringBuilder 組裝帶換行符的字符串

     編輯:程式設計綜合問答

多次 putExtra(EXTRA_TEXT, ...) 會覆蓋而非追加。正確做法:用 StringBuilder 組裝完整文本(含 \n),一次性放入 Intent。

錯誤代碼

emailIntent.putExtra(Intent.EXTRA_TEXT, "First Name: " + fname.getText());
emailIntent.putExtra(Intent.EXTRA_TEXT, "Last Name: " + lname.getText()); // 覆蓋上一條
emailIntent.putExtra(Intent.EXTRA_TEXT, "Email: " + email.getText());   // 只剩這條

正確代碼

StringBuilder sb = new StringBuilder();
sb.append("First Name: ").append(fname.getText().toString()).append('\n');
sb.append("Last Name: ").append(lname.getText().toString()).append('\n');
sb.append("Email: ").append(email.getText().toString());

emailIntent.putExtra(Intent.EXTRA_TEXT, sb.toString());
// 或 sb 已實現 CharSequence,可直接傳 sb

補充:HTML 格式郵件

String html = "First Name: " + fname + "
Last Name: " + lname + "
Email: " + email; emailIntent.putExtra(Intent.EXTRA_HTML_TEXT, html); // 支持 HTML 的郵件客戶端會渲染 emailIntent.putExtra(Intent.EXTRA_TEXT, sb.toString()); // 純文本備用

一次性組裝完整字符串,郵件內容換行不再丟失。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved