Android Studio中无法创建Fragment对象的问题求助
解决Fragment对象创建后无法正常加载的问题
你的代码核心问题是Fragment体系包不兼容:
- 主Activity里用的是AndroidX的
androidx.fragment.app.Fragment,通过getSupportFragmentManager()管理Fragment - 但
FragmentOne继承的是旧平台的android.app.Fragment,两个体系的Fragment无法混用,导致无法正确初始化并显示Fragment
修正方案
- 把
FragmentOne的导入包替换为AndroidX版本的Fragment,代码如下:
package org.me.gcu.pizzaapplication; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; // 替换成AndroidX的Fragment包 import androidx.fragment.app.Fragment; public class FragmentOne extends Fragment { public FragmentOne() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.email_fragment, container, false); } }
- 额外检查项:
- 确认项目build.gradle中已启用AndroidX(
android.useAndroidX=true) - 核对
activity_main.xml中承载Fragment的容器id是否为fragment,保证transaction.replace(R.id.fragment,fr)的id和布局文件一致
内容的提问来源于stack exchange,提问作者deeko
相关产品推荐
相关产品推荐

