Android 使用自动完成挂钩框架布局时出现 Studio 3.6.1 错误
Android Studio 3.6.1 error when i hook frame layout with autocomplete
您好,我只想使用按钮从一个片段切换到另一个片段。没什么困难...代码运行良好,但我花了很多时间,因为如果我将 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 将其着色为红色但它有效......
但是如果我选择自动编译的资源...
...当我 运行 app Android 给我这个错误....
为什么?不是最好的做法是使用自动编译吗?
提前致谢
试试这个可能会帮助 you.Go 到 "File" -> "Invalidate Caches...",select "Invalidate and Restart" 选项可以解决这个问题。
或
重新启动您 android 工作室和模拟器
您好,我只想使用按钮从一个片段切换到另一个片段。没什么困难...代码运行良好,但我花了很多时间,因为如果我将 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 将其着色为红色但它有效......
但是如果我选择自动编译的资源...
...当我 运行 app Android 给我这个错误....
为什么?不是最好的做法是使用自动编译吗? 提前致谢
试试这个可能会帮助 you.Go 到 "File" -> "Invalidate Caches...",select "Invalidate and Restart" 选项可以解决这个问题。
或
重新启动您 android 工作室和模拟器