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

Android 從 EditText 逐字取得字元:char 轉字串避免 Toast 誤判為資源 ID

     編輯:程式設計綜合問答

直接將 char 傳給 Toast.makeText 會被視為資源 ID(int),導致 Resources$NotFoundException。需轉為 String。

錯誤代碼

char c = chars[i];
Toast.makeText(this, c, Toast.LENGTH_SHORT).show(); // 崩潰

修正

Toast.makeText(this, String.valueOf(c), Toast.LENGTH_SHORT).show();
// 或
Toast.makeText(this, c + "", Toast.LENGTH_SHORT).show();

原因

  • Toast.makeText(Context, int, int) 簽名期望資源 ID。
  • char 隱性轉型為 int,匹配上述簽名。
  • 轉為 String 會匹配 makeText(Context, CharSequence, int)。

完整範例

String text = editText.getText().toString();
for (int i = 0; i < text.length(); i++) {
    char c = text.charAt(i);
    Toast.makeText(this, String.valueOf(c), Toast.LENGTH_SHORT).show();
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved