error: failed linking file resources. Cannot find view objects

error: failed linking file resources. Cannot find view objects

我将我的视图对象与 xml 文件连接起来。但是当我尝试编译时,“错误:链接文件资源失败。 " ~ = findIdByView(R.id.~);"中,R为红色。但我认为我做得很好。我不知道该如何解决。

场景

我正在尝试在 MainActivity 中创建 2 个 LinearLayouts。 (一个用于 WebView,另一个用于 textView。) 我使用 textView 为布局应用了一些动画效果。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
    android:id="@+id/background"
    android:layout_width="match_parent"
    android:layout_height="459dp"
    android:layout_gravity="bottom|center_horizontal"
    android:orientation="vertical">

    <WebView
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>


<LinearLayout
    android:id="@+id/page"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_gravity="top"
    android:visibility="gone">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="tab"/>
</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="top|center_horizontal">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Open"
        android:onClick="onButton1Clicked"/>
</LinearLayout>
</FrameLayout>

MainActivity.java

    package com.tistory.jaehoonx2.doitmission_08;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.animation.Animation;
    import android.view.animation.AnimationUtils;
    import android.widget.Button;
    import android.widget.LinearLayout;

public class MainActivity extends AppCompatActivity {

boolean isPageOpen = false;

Animation translateTopAnim;
Animation translateBottomAnim;

LinearLayout page;
Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    page = (LinearLayout) findViewById(R.id.page);    // Every "R" in onCreate() is colored red....

    translateTopAnim = AnimationUtils.loadAnimation(this, R.anim.translate_top);
    translateBottomAnim = AnimationUtils.loadAnimation(this, R.anim.translate_bottom);

    SlidingPageAnimationListener animListener = new SlidingPageAnimationListener();
    translateTopAnim.setAnimationListener(animListener);
    translateBottomAnim.setAnimationListener(animListener);
}

public void onButton1Clicked(View v){
    if(isPageOpen) {
        page.startAnimation(translateTopAnim);
    } else {
        page.setVisibility(View.VISIBLE);
        page.startAnimation(translateBottomAnim);
    }
}


private class SlidingPageAnimationListener implements Animation.AnimationListener {

    @Override
    public void onAnimationStart(Animation animation) {}

    @Override
    public void onAnimationEnd(Animation animation) {
        if(isPageOpen) {
            page.setVisibility(View.INVISIBLE);

            button.setText("Open");
            isPageOpen = false;
        } else {
            button.setText("Close");
            isPageOpen = true;
        }
    }

    @Override
    public void onAnimationRepeat(Animation animation) {}
}

}

translate_top.xml(translate_bottom.xml除部分数字外几乎相同):

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromYDelta="0%p"
    android:toYDelta="100%p"
    android:duration="500"
    android:reapeatCount="0"
    android:fillAfter="true"
    />
</set>

问题应该出在索引上。

清理你的项目。

转到 android 工作室中的构建 -> 清理项目。

如果它还存在。

转到文件 -> 使缓存无效/重新启动

这是因为您在 translate_top.xml 中使用了不正确的属性 android:reapeatCount。应该是android:repeatCount。所以,你需要修复它并更改为这样的东西:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromYDelta="0%p"
    android:toYDelta="100%p"
    android:duration="500"
    android:repeatCount="0"
    android:fillAfter="true"
    />
</set>