Android学习记录:PreferenceActivity和PreferenceFragment,返回主界面
来源:互联网 发布:前瞻数据库怎么样 编辑:程序博客网 时间:2024/05/12 09:11
昨天学习android开发,创建菜单设置时遇到一系列问题,记录下来。
首先是PreferenceActivity的问题,刚开始按照教程建立了一个加载xml的类,继承自PreferenceActivity,如下
public class PrefsFragement extends PreferenceActivity{public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);addPreferencesFromResource(R.xml.settings);}}
发现PreferenceActivity类的addPreferencesFromResource()在android 3.0之后过期失效,就上网查资料发现需要用PreferenceFragment来替换实现,参考网上资料建立一个PrefsFragement类继承PreferenceFragment,然后用该类来创建菜单。
然后发现,菜单创建成功了,然而按一次返回键之后发现回不到主界面,就各种查资料,发现都是这样实现的呀,没找到原因。后又分析代码,发现fragmentTransaction.addToBackStack(null);这一句,为什么是参数是null呢?又查函数,发现该函数的用处:在调用commint()之前,你可以用addToBackStack()把事务添加到一个后退栈中,这个后退栈属于所在的activity。有了它,就可以在用户按下返回键时,返回到fragment们执行事务之前的状态。明白原来是它在作怪,别人的实例是直接在主Activity中来加载xml,用做举例,而我需要的是在我点设置之后转到设置的Activity,把该句删掉,就成功实现了点返回键回到主界面了。
public class PrefsFragement extends PreferenceFragment{public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);addPreferencesFromResource(R.xml.settings);}}
public class Prefs extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); PrefsFragement fragment1 = new PrefsFragement(); fragmentTransaction.replace(android.R.id.content, fragment1); fragmentTransaction.addToBackStack(null);//!!!!!! fragmentTransaction.commit(); }}
0 0
- Android学习记录:PreferenceActivity和PreferenceFragment,返回主界面
- android PreferenceActivity结合PreferenceFragment实现参数设置界面学习实例
- PreferenceActivity和PreferenceFragment实现设置界面
- PreferenceFragment 和 PreferenceActivity讲解
- Android笔记——PreferenceActivity结合PreferenceFragment创建设置界面
- Android学习笔记八.LauncherActvity 之LauncherActivity、PreferenceActivity、PreferenceFragment
- PreferenceActivity结合PreferenceFragment实现参数设置界面
- PreferenceFragment,PreferenceActivity
- PreferenceActivity和PreferenceFragment及数据存储
- Android PreferenceFragment实现设置界面
- PreferenceActivity与PreferenceFragment理解
- PreferenceActivity PreferenceFragment preference-headers
- PreferenceActivity与PreferenceFragment应用
- PreferenceActivity、PreferenceFragment使用
- 利用PreferenceFragment替换PreferenceActivity
- Android_UI:PreferenceActivity PreferenceFragment
- Preference、PreferenceActivity,PreferenceFragment
- Android中Preference,preferenceActivity,PreferenceFragment等的使用
- 升级ADT22.6后,Android模拟器无法创建
- (1.2.2) Box of Bricks
- stl map list queue等容器的常用方法 (自我总结)
- 常量版和非常量版成员函数
- android中的context
- Android学习记录:PreferenceActivity和PreferenceFragment,返回主界面
- java 处理 XML
- svn add后的文件取消add操作
- 中断和异常的处理
- hunnu10522(判断两条线段的交点个数)
- 共享池之十:模拟ORA-4031错误
- 中序线索化二叉树
- SSH框架的applicationContext.xml详解(非Annotation)
- VMware Server Home Page 不能打开登录界面问题