在activity的layout.xml中增加占位布局
<FrameLayout
android:id="@+id/framelayout_for_fragment"
//id用于acitivy中用Fragment的xml文件替代这里的占位布局
android:name="com.example.wenshy.MyPreferenceFragment"
//要完整的MyPreferenceFragment文件所在路径
android:layout_width="match_parent"
android:layout_height="wrap_content">
</FrameLayout>
在activity的onCreate()方法中增加如下代码
@Override
protected void onResume() {
super.onResume();
mFragment = (BasePreferenceFragment) getSupportFragmentManager().findFragmentById(R.id.optimization_scanned_result);----------③
}
private void addFragment() {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.optimization_scanned_result, newMyPreferenceFragment())
.commit();
}
注:如果需要在activity中使用fragment对象,需要初始化,一般也放在onResume()中进行初始化,如③
在xml文件夹下,新建preferenceFragment的布局文件,如果没有xml文件,就要自己新建一个,不能放在layout布局下
新建preferenceFragment的类文件
public classMyPreferenceFragment extends PreferenceFragment {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(com.example.wenshy.R.xml.my_preference_fragment);
}
在preferenceFragment的onCreate中初始化布局
addPreferencesFromResource(com.example.wenshy.R.xml.my_preference_fragment);