在fragment中调用SharedPreferences】的更多相关文章

[o] Activity中调用SharedPreferences的方式: String prefsName = "mysetting"; SharedPreferences prefs = getSharedPreferences(prefsName, Context.MODE_PRIVATE); boolean a1 = prefs.getBoolean("a1_key", false); boolean a2 = prefs.getBoolean("a…
   在使用fragment的时候经常会遇到getActivity()为null的情况.比如我在一个异步网路请求的回调中调用了getActivity()就会出现空指针问题.之前解决这个问题,通常都是直接加空指针判断来规避,但是这并没有真正解决问题. 很多人都曾被这个问题所困扰,如果app长时间在后台运行,再次进入app的时候可能会出现crash,而且fragment会有重叠现象.如果系统内存不足.切换横竖屏.app长时间在后台运行,Activity都可能会被系统回收然后重建,但Fragment并…
大家都知道对于Activity和Fragment都可以注册OnActivityResult()方法,但是要注意几点: a.当activity和fragment都注册了OnActivityResult()方法的时候,最好能统一,即只在一个地方注册该方法,不要都注册,这回造成混乱,而且我尝试当2个地方都注册了OnActivityResult()这个方法的时候,activity的该方法会覆盖fragment的方法,也就是说在fragment不会走OnActivityResult()方法,而是直接去了a…
返回错误的requestCode返回值为65537,在Fragment里调用startActivityForResult,就必须在Fragment里处理onActivityResult.…
1:Fragment内定义一个接口,或外部定义一个接口, 2:Fragment定义一个接口对象的属性 3:Activity实现这个接口 4:Fragment的onAttach方法中强转Activity为接口 例如: @Override public void onAttach(Activity activity) { super.onAttach(activity); try { onFragmentChangeListener = (OnFragmentChangeListener)activ…
常见的,我们会在FragmentActivity中嵌套一层Fragment使用,甚至两次或多层Fragment嵌套使用.这个时候,在第二级或者更深级别的Fragment调用startActivityForResult方法时,将无法收到onActivityResult回调.阅读FragementActivity源码后发现,原来是源码里没有处理嵌套Fragment的情况,也就是说回调只到第一级Fragment,就没有继续分发.我们可以实现一个自己的AppCompatActivity,来实现继续分发,…
今天要做一个功能,用Fragment显示从其所在的Acitivity1中获取到的数据.这个Activity1是从另一个带有参数Activity2跳转过来的,所以要获得的是这些参数.因为之前没遇到过,所以走了弯路.看到网上有一个Fragment和Activity之间通信的例子,就开始模仿着写了.什么在Fragment中定义一个接口,然后Acitivity实现,再在Fragment中调用,这样做根本不行,一开始我就理解错了,人家实现的是两个Fragment之间传递数据的功能,只是要借助到Activi…
问题: 使用 AS 在 Fragment 中调用 getActivity() 方法的时候会出现可能为空指针的提醒 使用 monkey 多次十万次测试,会出现 getActivity() NullPointException 的情况 思考 为什么会出现这种情况,按说当前 Activity 存在,在 Fragment 中使用 getActivity() 是可以拿到的,不应该为空的 源码 fragment 的生命周期 以下源码基于 API 26 getActivity 可能为 Null, 跟进源码,可…
在当前的Fragment中调用getActivity方法获取依附着的那个Activity,然后再用获取到的Activity去findViewById拿到你需要的控件对其操作就行了.…
在Android开发中,我们经常会用到FragmentActivity下嵌套多个Fragment,但是在开发过程中会发现在嵌套的Fragment中使用onActivityResult回调方法没有被执行. 网上也有很多解决方法,但是说的都比较麻烦,所以今天给大家推荐一种超简单的用法, 在Fragment和FragmentActivity中都要重写onActivityResult方法,并且要保证两者的请求码或者结果码一致.代码如下: 在FragmentActivity中 @Override prot…