我从不同的apk(插件)中扩展布局而不是我的(相同的签名)并将其嵌入到我的Activity类(核心)中。
XmlResourceParser freeLayoutRes = getLayoutResourceByResourceId(R.layout.freelayout);
View freeLayoutView = LayoutInflater.from(freeLayout.getContext()).inflate(freeLayoutRes, freeLayout);
freeLayout是可嵌入的freelayoutres的父级。 getLayoutResourceByResourceId方法是对核心包的调用,它由packagemanager获取资源,如下所示:
getPackageManager().getResourcesForApplication(pluginapp).getLayout(layoutId))
这很好用,但有些用户报告了我NullPointerException:
java.lang.NullPointerException
at android.view.LayoutInflater.inflate(LayoutInflater.java:435)
at android.view.LayoutInflater.inflate(LayoutInflater.java:372)
at ....
我无法解释和重现错误发生的原因(以及何时)。在我的测试设备和不同的模拟器上,问题到目前为止还没有出现。用户堆栈跟踪中也没有提示解决此问题(不同的设备,不同的Android版本,在应用程序启动时,返回到Activity后)。
编辑:似乎主要发生在亚马逊Kindle Fire设备上(Android 2.3.4和4.0.4)
有人看到问题吗?如果需要更多信息,请询问。
任何帮助和提示都会很棒, 丹尼