我创建了一个名为SlidingFragment的类,它从Fragment扩展而来,在我的MainActivity中我放了这些行:
MainActivity.java:
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setUpView();
setUpFragment();
}
void setUpView(){
setContentView(R.layout.activity_main);
}
void setUpFragment(){
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
SlidingFragment fragment = new SlidingFragment();
transaction.replace(R.id.sample_content_fragment, fragment);
transaction.commit();
}
}
问题是FragmentTransaction类的replace()方法无法识别第二个参数片段,它是SlidingFragment对象。我明白了: 发现错误的第二个参数类型.'SlidingFragment'需要'android.support.v4.app.Fragment'。 替换(INT,android.support.v4.app.Fragment) 至 替换(INT,com.example.g514110.IhmSlidingTabs.SlidingFragment)
我理解这个问题,但我不知道如何解决它。 请有人帮忙。谢谢
答案 0 :(得分:1)
SlidingFragment是否扩展
import android.support.v4.app.Fragment;
而不是
android.app.Fragment
答案 1 :(得分:0)
确保SlidingFragment
正在延长android.support.v4.app.Fragment
。基于此编译器错误,它当前不是。
答案 2 :(得分:0)
在我面对这个问题之前,我做了一些改变。现在它的工作正常
新的细分页面例如:home_fragment
import android.support.v4.app.Fragment;
主XML设计必须包含任何带有您ID的布局,例如:
android:id="@+id/fragment_container"
主Java类
import android.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
点击活动
home_fragment fragment = new home_fragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, fragment);
transaction.commit();
此代码适用于我