Android Studio 3.6.1使用autocomplete钩住框架布局时出错

Android Studio 3.6.1使用autocomplete钩住框架布局时出错,android,android-studio,android-fragments,autocomplete,android-framelayout,Android,Android Studio,Android Fragments,Autocomplete,Android Framelayout,你好,我只想用一个按钮从一个片段切换到另一个片段。没什么难的。。。代码运行得很好,但我花了很多时间,因为如果我用自动编译钩住frameLayout,Android会出错。 我要更好地解释: package com.example.fragcookbook; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.FragmentManager; import androidx.fragment.

你好,我只想用一个按钮从一个片段切换到另一个片段。没什么难的。。。代码运行得很好,但我花了很多时间,因为如果我用自动编译钩住frameLayout,Android会出错。 我要更好地解释:

package com.example.fragcookbook;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;

public class MainActivity extends AppCompatActivity {

    FragmentOne mFragmentOne;
    FragmentTwo mFragmentTwo;
    int showingFragment=0;

    @Override
    protected void onCreate ( Bundle savedInstanceState ) {
        super.onCreate (savedInstanceState);
        setContentView (R.layout.activity_main);
        mFragmentOne = new FragmentOne();
        mFragmentTwo = new FragmentTwo();
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(R.id.frameLayout, mFragmentOne);
        fragmentTransaction.commit();
        showingFragment=1;

    }
    public void switchFragment(View view) {
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        if (showingFragment==1) {
            fragmentTransaction.replace(R.id.frameLayout, mFragmentTwo);
            showingFragment = 2;
        } else {
            fragmentTransaction.replace(R.id.frameLayout, mFragmentOne);
            showingFragment=1;
        }
        fragmentTransaction.commit();
    }
在看到R.id.frameLayout的所有行中,我必须手工编写frameLayout。。。。。安卓将它涂成红色,但它可以工作。。。

但是如果我选择具有自动编译功能的资源。。。

…当我运行应用程序Android时,会出现此错误。。。。

为什么??最佳实践不是使用自动编译吗?
提前感谢

尝试此操作可能会对您有所帮助。请转到“文件”->“使缓存无效…”,然后选择“使缓存无效并重新启动”选项以修复此问题


重新启动android studio和emulator

谢谢!完美的