PreferenceActivity如何转为PrefernceFragment

在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);

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容