首页 > 解决方案 > 当我使用自动完成挂钩框架布局时,Android Studio 3.6.1 错误

问题描述

您好,我只想使用按钮从一个片段切换到另一个片段。没什么难的...代码运行良好,但我花了很多时间,因为如果我将 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 给我这个错误.... 在此处输入图像描述

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

标签: androidandroid-studioandroid-fragmentsautocompleteandroid-framelayout

解决方案


试试这个可能会对你有所帮助。转到“文件”->“使缓存无效...”,然后选择“无效并重新启动”选项来解决这个问题。

或者

重新启动你的 android studio 和模拟器


推荐阅读