首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不兼容的类型: android.widget.Edit Text和java.lang.String

不兼容的类型: android.widget.Edit Text和java.lang.String
EN

Stack Overflow用户
提问于 2015-03-15 02:58:38
回答 3查看 2.6K关注 0票数 0

我在Android Studio IDE上得到了这个错误。上面写着

不兼容的类型;必需的android.widget.EditText和找到的java.lang.String

代码语言:javascript
复制
@Override
public void afterTextChanged(Editable s) {

    if (editabletext.length() == 8) {
        editabletext = editabletext.getText().toString().replaceAll("([0-9]{4})([0-9]{4})", "$1-$2")
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-15 03:01:44

editabletext是一个EditText,replaceAll返回一个字符串。编译器所说的是您不能将String赋值给EditText。你可以这样修改你的代码:

代码语言:javascript
复制
if(editabletext.length() == 8){
    String tmp = editabletext.getText().toString().replaceAll("([0-9]{4})([0-9]{4})", "$1-$2");
    editabletext.setText(tmp);
  }
票数 1
EN

Stack Overflow用户

发布于 2015-03-15 03:04:05

替换

代码语言:javascript
复制
editabletext= editabletext.getText().toString().replaceAll("([0-9]{4})([0-9]{4})", "$1-$2")

使用

代码语言:javascript
复制
editabletext.setText(editabletext.getText().toString().replaceAll("([0-9]{4})([0-9]{4})", "$1-$2"))

因为editabletext的类型为Editable,并且replaceAll返回一个String

票数 0
EN

Stack Overflow用户

发布于 2019-07-29 16:59:40

找到"editabletext“的定义,将类型从EditText改为String

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29052935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档