资源ID不能是空字符串(在textAppearance属性中为' text'值为'?')

时间:2014-04-05 16:38:44

标签: android textview

我的布局中有以下两个textView:

<TextView
    android:id="@+id/TextView_playSourceWord"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/TextView_playTheme"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:layout_margin="@dimen/word_box_margin"
    android:text="Maison" />

<TextView
    android:id="@+id/TextView_playTargetWord"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/TextView_playSourceWord"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:layout_margin="@dimen/word_box_margin"
    android:text="?" />

第一个没有任何错误,但在第二个android:textAppearance="?android:attr/textAppearanceLarge"中产生以下错误:

error: Error: Resource id cannot be an empty string (at 'text' with value '?').

我还有其他布局中的其他TextView,textAppearance的值相同,并且没有错误。有没有办法解决这个问题,而无需手动重新创建样式?

3 个答案:

答案 0 :(得分:17)

你必须逃脱?编码如下

android:text="\?"

答案 1 :(得分:3)

始终使用本地化字符串:

<TextView
    android:id="@+id/TextView_playTargetWord"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/TextView_playSourceWord"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:layout_margin="@dimen/word_box_margin"
    android:text="@string/what" />

的strings.xml

<string name="what">\?</string>

答案 2 :(得分:-1)

我认为这是Android Studio的一个错误。 检查此路径:您的项目文件夹/ app / build,您将在那里找到3个文件夹:“generated”,“intermediates”和“outputs”。您需要做的就是删除这些文件夹中的所有内容并重建您的项目。 / p>