AppCompatTextView在布局设计器中显示错误文本的原因咨询
嘿,我来帮你捋捋这个问题!这种设计视图显示的文本和你在属性面板设置的不一样的情况,通常是这几个原因导致的:
XML硬编码文本覆盖了属性面板设置
你可以打开对应的布局XML文件看看,是不是直接给这个AppCompatTextView写了android:text="xxx"的属性。XML里的硬编码属性优先级比属性面板的设置更高,所以就算你在面板里改了,预览还是会显示XML里的内容。解决办法就是要么直接修改XML里的text值,要么在属性面板修改后保存,确认XML同步更新了。绑定了字符串资源文件
如果你的TextView用了android:text="@string/your_string"这种方式绑定字符串资源,那属性面板里直接输入的文本不会生效——系统会优先加载res/values/strings.xml里的对应内容。这时候你得去字符串资源文件里修改值,或者在属性面板的text选项里选择对应的字符串资源来调整。Android Studio预览缓存异常
布局预览偶尔会抽风缓存旧内容,试试点击预览面板右上角的刷新按钮(那个循环箭头),或者重启Android Studio,再不行就清理项目缓存:依次点Build -> Clean Project,然后Build -> Rebuild Project,一般就能解决缓存问题。主题/样式的默认文本设置
检查下这个AppCompatTextView的style属性,是不是继承了某个主题或者自定义样式,而样式里预先设置了text属性。如果是这样,样式里的默认值会覆盖你在属性面板的设置,你需要修改样式里的text值,或者给TextView单独设置text属性来覆盖样式。代码或数据绑定动态赋值
如果你的项目用了Data Binding,或者在Activity/Fragment的代码里(比如onCreate方法中)调用了setText()给这个控件赋值,那设计视图可能会显示代码里设置的内容,或者数据绑定的默认值。这种情况就得去检查代码里的动态赋值逻辑啦。
内容的提问来源于stack exchange,提问作者Tord Larsen

