2017-04-17 45 views
0

以下是我的代码,它给在更换片段部分跟它发现参数错误是在哪里为android.app.fragment需要android.support.v4.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

你必须使用支持片段经理

FragmentManager fm=getSupportFragmentManager(); 

,而不是

FragmentManager fm=getFragmentManager(); 

也为带有支持片段管理器的片段管理器删除导入语句。

+0

它的工作感谢的人 –

0

除了使用“getSupportManager”由@passiondroid说,你正在使用

import android.app.FragmentManager; 
import android.app.FragmentTransaction; 

,你应该使用支持库为:

import android.support.v4.app.FragmentManager; 
android.support.v4.app.FragmentTransaction;