以下是我的代码,它在替换片段部分给出错误,它说找到的参数是android.support.v4.app.fragment,其中需要android.app.fragment告诉我什么是我的代码中的错误,因为我我是新手,因此无法完成问题
package com.example.xainshah.fragmentexample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.support.v4.app.Fragment;
import android.view.View;
import layout.Fragment1;
import layout.Fragment2;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void ChangeFragment(View view){
Fragment fragment;
if (view == findViewById(R.id.button)){
fragment= new Fragment1();
FragmentManager fm=getFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
ft.replace(R.id.fragment_place,fragment); \\ Error is here 2nd argument is not compatible that's what the error says
}
if (view == findViewById(R.id.button)){
fragment= new Fragment2();
FragmentManager fm=getFragmentManager();
FragmentTransaction ft=fm.beginTransaction();
ft.replace(R.id.fragment_place,fragment); \\ Error is here 2nd argument is not compatible that's what the error says
}
}
}
答案 0 :(得分:0)
您必须使用支持片段管理器
FragmentManager fm=getSupportFragmentManager();
而不是
FragmentManager fm=getFragmentManager();
同样也删除了带有支持片段管理器的片段管理器的import语句。
答案 1 :(得分:0)
除了使用" getSupportManager"如@passiondroid所述,您正在使用
import android.app.FragmentManager;
import android.app.FragmentTransaction;
您应该使用支持库:
import android.support.v4.app.FragmentManager;
android.support.v4.app.FragmentTransaction;