相关疑难解决方法(0)

Android支持库27,片段更新?

自从我将项目更新到SDK版本27并将支持库的gradle插件更新为27.0.0我需要更改代码的版本.

随着26.1.0我就可以使用getContext()(与科特林context)在我Fragment(android.support.v4.app),我有没有空性的问题,但因为我使用科特林我有一个版本的一个问题27.0.0,我所有的context电话没有工作了,我需要一个安全的操作,如context!!,但由于我个人觉得每次我做自己的解决方法都是一种喧嚣

override fun getContext() = super.getContext()!!
Run Code Online (Sandbox Code Playgroud)

改变的另一件事(突然,这就是我要问的原因)是方法onCreateView()和onViewCreated().在onCreateView充气是不可能空了,所以我需要改变我的函数签名正确地从覆盖onCreateView(inflater: LayoutInflater?...)到onCreateView(inflater: LayoutInflater...)和同为createdView参数onViewCreated.

所以现在我想知道为什么,特别是(对于Kotlin)非常难看的getContext()改变,并转向https://developer.android.com/sdk/support_api_diff/27.0.0/changes.html.

但等等,显然他们没有改变它?所以现在我的问题是,如果我做错了什么,或者他们是否真的改变了它,如果是这样,我可能会问他们为什么?

顺便说一下,同样适用getActivity(),我认为mHost == null检查已经添加,getActivity方法甚至是最终的,所以我不能在那里使用我的解决方法,这使得它非常非常难看.实际上在源文件中方法看起来是一样的,但26.1.0有Kotlin返回类型Context!和27.0.0返回类型Context?.

android android-fragments kotlin android-support-library android-8.0-oreo

20
推荐指数
1
解决办法
4580
查看次数

Android:getContext().getContentResolver()有时会获得NullPointerException

我想问为什么我们得到这个注释:

方法调用getContext.getContentResolver()可能会产生NullPointerException

为什么它在那里而不是在程序碎片/活动的其他部分?这种方法已在Google制作的教程中使用 - 这里是ContentProvider代码的链接https://github.com/udacity/Sunshine-Version-2/blob/sunshine_master/app/src/main/java/com/example/android /sunshine/app/data/WeatherProvider.java即使您只使用空白活动创建一个应用程序,并将该方法放在新创建的ContentProvider中,它就在那里.

我们应该使用getContext().getContentResolver().notifyChange(uri, null);外部ContentProvider获取uri传递,然后更新/插入/删除完成notifyChange?或者我们可以以某种方式解决它?

java android nullpointerexception android-contentresolver

9
推荐指数
2
解决办法
9851
查看次数