Android - 错误:不允许使用字符串类型(在' imageViewScramble'值为'')

时间:2016-11-20 13:16:56

标签: android xml string types

我真的遇到了这个问题,我尝试在互联网上搜索,但没有找到类似的东西。

当我尝试构建我的应用时,它会出现我的错误

C:\Users\Tom\AndroidStudioProjects\Timer++\app\build\intermediates\res\merged\debug\values\values.xml

错误:(703,69)不允许使用字符串类型(在' imageViewScramble'值为'')。 错误:(703,69)不允许字符串类型(在' imageViewScramble'值为'')。 错误:任务':app:processDebugResources'执行失败。

  

com.android.ide.common.process.ProcessException:无法执行aapt。

当我跳到源头时,它指向我:

<style name="Base.TextAppearance.AppCompat.SearchResult" parent="">
    <item name="android:textStyle">normal</item>
    <item name="android:textColor">?android:textColorPrimary</item>
    <item name="android:textColorHint">?android:textColorHint</item>
</style>

奇怪的是,即使在我的activity_main.xml文件中,imageViewScramble也没有删除它。 我尝试向这个ImageView添加一个可绘制的资源,这可能是问题所在。

这是我的XML文件:

<xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.tom.timer.MainActivity">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay"
    android:id="@+id/appBarLayout">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbarMainSession"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"

        android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
        android:layout_gravity="top">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="?attr/actionBarSize"
        android:orientation="horizontal"
        android:showDividers="end">

        <Button
            android:text="Settings"
            android:layout_width="0dp"
            android:layout_height="?attr/actionBarSize"
            android:id="@+id/buttonDNF"
            android:layout_gravity="start"
            android:layout_weight="1"
            android:background="@color/colorPrimary"/>

        <Button
            android:text="Session"
            android:layout_width="0dp"
            android:layout_height="?attr/actionBarSize"
            android:id="@+id/buttonToSession"
            android:layout_gravity="end"
            android:layout_weight="1"
            android:background="@color/colorPrimary"/>

    </LinearLayout>
    </android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>

<TextView
    android:text="Scramble"
    android:layout_width="fill_parent"
    android:layout_height="350dp"
    android:textAlignment="center"
    android:id="@+id/textViewScramble"
    android:textSize="30sp"
    android:textColor="@color/colorText"
    android:gravity="center"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="75dp"
    android:layout_above="@+id/textViewTimer" />

<TextView
    android:text="0"
    android:layout_width="fill_parent"
    android:layout_height="100dp"
    android:textSize="90sp"
    android:textColor="@color/colorText"
    android:textAlignment="center"
    android:textStyle="bold"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/textViewTimer" />

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbarDown"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp"
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
    android:layout_gravity="bottom"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="?attr/actionBarSize"
        android:orientation="horizontal"
        android:showDividers="end"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true">

        <Button
            android:text="Draw Scramble"
            android:layout_width="0dp"
            android:layout_height="?attr/actionBarSize"
            android:id="@+id/buttonDraw"
            android:layout_gravity="start"
            android:layout_weight="1"
            android:background="@color/colorPrimary"/>

        <Button
            android:text="Choose Puzzle"
            android:layout_width="0dp"
            android:layout_height="?attr/actionBarSize"
            android:id="@+id/buttonChoosePuzzle"
            android:layout_gravity="end"
            android:layout_weight="1"
            android:background="@color/colorPrimary"/>

    </LinearLayout>
</android.support.v7.widget.Toolbar>

另外,它给了我另一个错误:无法解析符号&#34; R&#34;。

3 个答案:

答案 0 :(得分:3)

我修复了一个类似的问题:搜索(CTRL + SHIFT + F)消息中提到的文字值,例如:&#39; imageViewScramble&#39;

在结果中,我去找了匹配的dimens.xml文件,我发现值不一致。

例如:     5DP     5DP     的

所以用上面提到的替换线     的 5DP

解决问题。

感谢您的阅读。

答案 1 :(得分:0)

好的,我通过删除res / refs.xml中的文件来修复它,其中包含名称imageViewScramble。 从我所听到的,这个问题主要是由于xml错误而发生的。有时可能会因为使用旧的构建工具而发生。有时清洁/重建可能会起作用。

答案 2 :(得分:0)

修复此错误goto res / value然后删除dimens.xml。它对我有用