Java ResourcesNotFoundException在将意图返回到另一个应用程序后发生

Java ResourcesNotFoundException在将意图返回到另一个应用程序后发生,java,android,pdf,android-fragments,android-intent,Java,Android,Pdf,Android Fragments,Android Intent,我正在开发一个Android应用程序,我在其中生成了一些PDF文件。生成后,我会启动一个应用程序的意图,以显示PDF(如Acrobat) 一旦我按下返回键返回到我的应用程序,三星Galaxy S5的正常安卓5经三星修改后出现以下错误: 11-05 17:04:29.876: E/AndroidRuntime(1515): FATAL EXCEPTION: main 11-05 17:04:29.876: E/AndroidRuntime(1515): Process: (my package),

我正在开发一个Android应用程序,我在其中生成了一些
PDF
文件。生成后,我会启动一个应用程序的
意图
,以显示
PDF
(如Acrobat)

一旦我按下返回键返回到我的应用程序,三星Galaxy S5的正常安卓5经三星修改后出现以下错误:

11-05 17:04:29.876: E/AndroidRuntime(1515): FATAL EXCEPTION: main
11-05 17:04:29.876: E/AndroidRuntime(1515): Process: (my package), PID: 1515
11-05 17:04:29.876: E/AndroidRuntime(1515): android.content.res.Resources$NotFoundException: File res/layout-v21/adapter_historie.xml from xml type layout resource ID #0x7f04001e
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:3953)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:3900)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.content.res.Resources.getLayout(Resources.java:2149)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.LayoutInflater.inflate(LayoutInflater.java:413)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at (my package).adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:52)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at (my package).adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:1)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5223)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4449)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4359)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1043)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:2102)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1956)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1865)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:2102)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1956)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1865)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:2102)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1956)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1865)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.widget.FrameLayout.onLayout(FrameLayout.java:508)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.View.layout(View.java:16550)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewGroup.layout(ViewGroup.java:5303)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2312)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2025)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1180)
11-05 17:04:29.876: E/AndroidRuntime(1515):     at android.view.ViewRo
或者在
谷歌Nexus 5
Cyanogenmod 12.1
上使用此stacktrace:

11-06 19:47:45.871: E/AndroidRuntime(22636): FATAL EXCEPTION: main
11-06 19:47:45.871: E/AndroidRuntime(22636): Process: (my package).vaz, PID: 22636
11-06 19:47:45.871: E/AndroidRuntime(22636): android.content.res.Resources$NotFoundException: File res/layout-v21/adapter_historie.xml from xml type layout resource ID #0x7f04001e
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2843)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2798)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.content.res.Resources.getLayout(Resources.java:1143)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.LayoutInflater.inflate(LayoutInflater.java:412)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:51)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:1)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5223)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4449)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4359)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1043)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.View.layout(View.java:15686)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
11-06 19:47:45.871: E/AndroidRuntime(22636):    at android.view.ViewR
(可以找到完整的跟踪)

在我代码的这一部分

public HistorienAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View layout = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.adapter_historie, parent, false);

    return new ViewHolder(layout);
}
我在
android.app.Fragment
中启动
Intent
,如下所示:

Uri path = Uri.fromFile(file);

Intent viewintent = new Intent(Intent.ACTION_VIEW);
viewintent.setDataAndType(path, "application/pdf");
getActivity().startActivity(viewintent);

好的,首先,这是什么设备(和软件版本)?与普通Android相比,Resources.java文件似乎增加了很多代码;您的调用堆栈提到了
Resources.java:3900
Resources.java:3953
,但只有2859行。可能是因为您的设备制造商一直在修补资源类(最有可能添加主题化支持),并把事情搞砸了

无论如何,我想我已经在官方代码中识别了相应的行:

:

…然后在

我看不出这段代码可以返回
null
。它要么返回一个
新的XmlBlock
,要么抛出一个异常

因此,也许我没有找到正确的行-
Resources.java:2821
中抛出了一个类似的
NotFoundException
,但是在这种情况下,您的异常堆栈中应该有一个“由引起的”行(当然,在您的问题中它似乎被截断了,所以可能有…?)。似乎代码不太可能被修改以将其精确移动到与另一行的预期偏移量,但是


也许可以尝试在emulator/AVD中而不是在设备上运行代码,看看是否会出现相同的错误?如果你不能重现这个问题,我想我们必须得出结论,你的设备制造商在资源加载代码中弄错了什么。

好的,首先,这是什么设备(和软件版本)?与普通Android相比,Resources.java文件似乎增加了很多代码;您的调用堆栈提到了
Resources.java:3900
Resources.java:3953
,但只有2859行。可能是因为您的设备制造商一直在修补资源类(最有可能添加主题化支持),并把事情搞砸了

无论如何,我想我已经在官方代码中识别了相应的行:

:

…然后在

我看不出这段代码可以返回
null
。它要么返回一个
新的XmlBlock
,要么抛出一个异常

因此,也许我没有找到正确的行-
Resources.java:2821
中抛出了一个类似的
NotFoundException
,但是在这种情况下,您的异常堆栈中应该有一个“由引起的”行(当然,在您的问题中它似乎被截断了,所以可能有…?)。似乎代码不太可能被修改以将其精确移动到与另一行的预期偏移量,但是


也许可以尝试在emulator/AVD中而不是在设备上运行代码,看看是否会出现相同的错误?如果你不能重现这个问题,我想我们必须得出结论,你的设备制造商在资源加载代码中弄乱了一些东西。

我与Pinguin895一起开发了这个应用程序,在Snild Dolkow给出了很好的答案,我们应该尝试捕捉异常后,找到了解决问题的方法

我已尝试捕获“android.content.res.Resources.NotFoundException”,并获得了此stacktrace,其中包括以下原因导致的通缉:

11-07 09:54:08.912: I/AppCompatDelegate(689): The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's
11-07 09:54:11.581: W/System.err(689): java.lang.RuntimeException: Assetmanager has been closed
11-07 09:54:11.582: W/System.err(689):  at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:501)
11-07 09:54:11.582: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2825)
11-07 09:54:11.582: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2798)
11-07 09:54:11.582: W/System.err(689):  at android.content.res.Resources.getLayout(Resources.java:1143)
11-07 09:54:11.582: W/System.err(689):  at android.view.LayoutInflater.inflate(LayoutInflater.java:412)
11-07 09:54:11.582: W/System.err(689):  at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:53)
11-07 09:54:11.582: W/System.err(689):  at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:1)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5223)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4449)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4359)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
11-07 09:54:11.582: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.582: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.582: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.582: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.582: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.582: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.582: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.582: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.582: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.582: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1043)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.583: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.583: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.584: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.584: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.584: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.584: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.584: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5891)
11-07 09:54:11.584: W/System.err(689):  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
11-07 09:54:11.584: W/System.err(689):  at android.view.Choreographer.doCallbacks(Choreographer.java:580)
11-07 09:54:11.584: W/System.err(689):  at android.view.Choreographer.doFrame(Choreographer.java:550)
11-07 09:54:11.584: W/System.err(689):  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
11-07 09:54:11.584: W/System.err(689):  at android.os.Handler.handleCallback(Handler.java:739)
11-07 09:54:11.584: W/System.err(689):  at android.os.Handler.dispatchMessage(Handler.java:95)
11-07 09:54:11.584: W/System.err(689):  at android.os.Looper.loop(Looper.java:135)
11-07 09:54:11.584: W/System.err(689):  at android.app.ActivityThread.main(ActivityThread.java:5294)
11-07 09:54:11.584: W/System.err(689):  at java.lang.reflect.Method.invoke(Native Method)
11-07 09:54:11.584: W/System.err(689):  at java.lang.reflect.Method.invoke(Method.java:372)
11-07 09:54:11.584: W/System.err(689):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
11-07 09:54:11.584: W/System.err(689):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
11-07 09:54:11.584: W/System.err(689): android.content.res.Resources$NotFoundException: File res/layout-v21/adapter_historie.xml from xml type layout resource ID #0x7f04001e
11-07 09:54:11.585: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2843)
11-07 09:54:11.585: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2798)
11-07 09:54:11.585: W/System.err(689):  at android.content.res.Resources.getLayout(Resources.java:1143)
11-07 09:54:11.585: W/System.err(689):  at android.view.LayoutInflater.inflate(LayoutInflater.java:412)
11-07 09:54:11.585: W/System.err(689):  at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:53)
11-07 09:54:11.585: W/System.err(689):  at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:1)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5223)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4449)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4359)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
11-07 09:54:11.585: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.585: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.585: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.585: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.585: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.585: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.585: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1043)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843)
11-07 09:54:11.587: W/System.err(689):  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
11-07 09:54:11.587: W/System.err(689):  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5891)
11-07 09:54:11.587: W/System.err(689):  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
11-07 09:54:11.587: W/System.err(689):  at android.view.Choreographer.doCallbacks(Choreographer.java:580)
11-07 09:54:11.587: W/System.err(689):  at android.view.Choreographer.doFrame(Choreographer.java:550)
11-07 09:54:11.587: W/System.err(689):  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
11-07 09:54:11.587: W/System.err(689):  at android.os.Handler.handleCallback(Handler.java:739)
11-07 09:54:11.587: W/System.err(689):  at android.os.Handler.dispatchMessage(Handler.java:95)
11-07 09:54:11.587: W/System.err(689):  at android.os.Looper.loop(Looper.java:135)
11-07 09:54:11.587: W/System.err(689):  at android.app.ActivityThread.main(ActivityThread.java:5294)
11-07 09:54:11.587: W/System.err(689):  at java.lang.reflect.Method.invoke(Native Method)
11-07 09:54:11.587: W/System.err(689):  at java.lang.reflect.Method.invoke(Method.java:372)
11-07 09:54:11.587: W/System.err(689):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
11-07 09:54:11.587: W/System.err(689):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
11-07 09:54:11.587: W/System.err(689): Caused by: java.lang.RuntimeException: Assetmanager has been closed
11-07 09:54:11.587: W/System.err(689):  at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:501)
11-07 09:54:11.587: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2825)
11-07 09:54:11.587: W/System.err(689):  ... 70 more
在对Assetmanager已关闭的信息进行一些研究之后。我发现assetmanager不应该关闭,因为android应用程序需要它来访问.apk中包含的文件(如布局xml文件)

在我们的应用程序中,我们使用assetmanager选择一个pdf文件,该文件位于apk中的assets文件夹中。输入一些文本后,更改后的pdf保存在SD卡上

try (AssetManager am = context.getAssets();
     InputStream is = am.open(vaz.getDatei() + ".pdf");
     OutputStream targetOutputStream = new FileOutputStream(file)) {

     /*
     *[SOME CODE FOR GENERATION AND SAVING]
     */

     Uri path = Uri.fromFile(file);

     Intent viewintent = new Intent(Intent.ACTION_VIEW);
     viewintent.setDataAndType(path, "application/pdf");
     getActivity().startActivity(viewintent);

} catch (InstantiationException | IllegalAccessException e) {
     e.printStackTrace();
}
我们在java.lang.AutoCloseable中使用了try with参考资料 从PDF Viewer应用程序返回后,AssetManager已经关闭,因为java.lang.AutoCloseable

解决方案是将AssetManager置于资源试用之外:

AssetManager am = context.getAssets();

try (InputStream is = am.open(vaz.getDatei() + ".pdf");
     OutputStream targetOutputStream = new FileOutputStream(file)) {

     ...

} catch (InstantiationException | IllegalAccessException e) {
     e.printStackTrace();
}

谢谢你的努力斯奈德·多尔科

我与Pinguin895一起开发了这个应用程序,在Snild Dolkow给出了我们应该尝试捕捉异常的好答案之后,我找到了解决问题的方法

我已尝试捕获“android.content.res.Resources.NotFoundException”,并获得了此stacktrace,其中包括以下原因导致的通缉:

11-07 09:54:08.912: I/AppCompatDelegate(689): The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's
11-07 09:54:11.581: W/System.err(689): java.lang.RuntimeException: Assetmanager has been closed
11-07 09:54:11.582: W/System.err(689):  at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:501)
11-07 09:54:11.582: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2825)
11-07 09:54:11.582: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2798)
11-07 09:54:11.582: W/System.err(689):  at android.content.res.Resources.getLayout(Resources.java:1143)
11-07 09:54:11.582: W/System.err(689):  at android.view.LayoutInflater.inflate(LayoutInflater.java:412)
11-07 09:54:11.582: W/System.err(689):  at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:53)
11-07 09:54:11.582: W/System.err(689):  at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:1)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5223)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4449)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4359)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
11-07 09:54:11.582: W/System.err(689):  at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
11-07 09:54:11.582: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.582: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.582: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.582: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.582: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.582: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.582: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.582: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.582: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.582: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1043)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.583: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.583: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.583: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.583: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.583: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.584: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.584: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.584: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.584: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.584: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
11-07 09:54:11.584: W/System.err(689):  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5891)
11-07 09:54:11.584: W/System.err(689):  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
11-07 09:54:11.584: W/System.err(689):  at android.view.Choreographer.doCallbacks(Choreographer.java:580)
11-07 09:54:11.584: W/System.err(689):  at android.view.Choreographer.doFrame(Choreographer.java:550)
11-07 09:54:11.584: W/System.err(689):  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
11-07 09:54:11.584: W/System.err(689):  at android.os.Handler.handleCallback(Handler.java:739)
11-07 09:54:11.584: W/System.err(689):  at android.os.Handler.dispatchMessage(Handler.java:95)
11-07 09:54:11.584: W/System.err(689):  at android.os.Looper.loop(Looper.java:135)
11-07 09:54:11.584: W/System.err(689):  at android.app.ActivityThread.main(ActivityThread.java:5294)
11-07 09:54:11.584: W/System.err(689):  at java.lang.reflect.Method.invoke(Native Method)
11-07 09:54:11.584: W/System.err(689):  at java.lang.reflect.Method.invoke(Method.java:372)
11-07 09:54:11.584: W/System.err(689):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
11-07 09:54:11.584: W/System.err(689):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
11-07 09:54:11.584: W/System.err(689): android.content.res.Resources$NotFoundException: File res/layout-v21/adapter_historie.xml from xml type layout resource ID #0x7f04001e
11-07 09:54:11.585: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2843)
11-07 09:54:11.585: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2798)
11-07 09:54:11.585: W/System.err(689):  at android.content.res.Resources.getLayout(Resources.java:1143)
11-07 09:54:11.585: W/System.err(689):  at android.view.LayoutInflater.inflate(LayoutInflater.java:412)
11-07 09:54:11.585: W/System.err(689):  at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:53)
11-07 09:54:11.585: W/System.err(689):  at (my package).vaz.adapter.HistorienAdapter.onCreateViewHolder(HistorienAdapter.java:1)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5223)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4449)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4359)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1961)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1370)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1333)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:562)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2900)
11-07 09:54:11.585: W/System.err(689):  at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3071)
11-07 09:54:11.585: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.585: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.585: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.585: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.585: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.585: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.585: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1043)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
11-07 09:54:11.586: W/System.err(689):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
11-07 09:54:11.586: W/System.err(689):  at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
11-07 09:54:11.586: W/System.err(689):  at android.view.View.layout(View.java:15686)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewGroup.layout(ViewGroup.java:5039)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2086)
11-07 09:54:11.586: W/System.err(689):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1843)
11-07 09:54:11.587: W/System.err(689):  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
11-07 09:54:11.587: W/System.err(689):  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5891)
11-07 09:54:11.587: W/System.err(689):  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
11-07 09:54:11.587: W/System.err(689):  at android.view.Choreographer.doCallbacks(Choreographer.java:580)
11-07 09:54:11.587: W/System.err(689):  at android.view.Choreographer.doFrame(Choreographer.java:550)
11-07 09:54:11.587: W/System.err(689):  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
11-07 09:54:11.587: W/System.err(689):  at android.os.Handler.handleCallback(Handler.java:739)
11-07 09:54:11.587: W/System.err(689):  at android.os.Handler.dispatchMessage(Handler.java:95)
11-07 09:54:11.587: W/System.err(689):  at android.os.Looper.loop(Looper.java:135)
11-07 09:54:11.587: W/System.err(689):  at android.app.ActivityThread.main(ActivityThread.java:5294)
11-07 09:54:11.587: W/System.err(689):  at java.lang.reflect.Method.invoke(Native Method)
11-07 09:54:11.587: W/System.err(689):  at java.lang.reflect.Method.invoke(Method.java:372)
11-07 09:54:11.587: W/System.err(689):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
11-07 09:54:11.587: W/System.err(689):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
11-07 09:54:11.587: W/System.err(689): Caused by: java.lang.RuntimeException: Assetmanager has been closed
11-07 09:54:11.587: W/System.err(689):  at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:501)
11-07 09:54:11.587: W/System.err(689):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2825)
11-07 09:54:11.587: W/System.err(689):  ... 70 more
在对Assetmanager已关闭的信息进行一些研究之后。我发现assetmanager不应该关闭,因为android应用程序需要它来访问.apk中包含的文件(如布局xml文件)

在我们的应用程序中,我们使用assetmanager选择一个pdf文件,该文件位于apk中的assets文件夹中。输入一些文本后,更改后的pdf保存在SD卡上

try (AssetManager am = context.getAssets();
     InputStream is = am.open(vaz.getDatei() + ".pdf");
     OutputStream targetOutputStream = new FileOutputStream(file)) {

     /*
     *[SOME CODE FOR GENERATION AND SAVING]
     */

     Uri path = Uri.fromFile(file);

     Intent viewintent = new Intent(Intent.ACTION_VIEW);
     viewintent.setDataAndType(path, "application/pdf");
     getActivity().startActivity(viewintent);

} catch (InstantiationException | IllegalAccessException e) {
     e.printStackTrace();
}
我们在java.lang.AutoCloseable中使用了try with参考资料 从PDF Viewer应用程序返回后,AssetManager已经关闭,因为java.lang.AutoCloseable

解决方案是将AssetManager置于资源试用之外:

AssetManager am = context.getAssets();

try (InputStream is = am.open(vaz.getDatei() + ".pdf");
     OutputStream targetOutputStream = new FileOutputStream(file)) {

     ...

} catch (InstantiationException | IllegalAccessException e) {
     e.printStackTrace();
}

谢谢你的努力斯奈德·多尔科

您的.APK文件似乎缺少一个资源文件。它应该位于
res/layout-v21/adapter\u historie.xml
中。不过我不知道你是怎么做到的。你是否有某种定制的构建系统导致了这种情况?@SnildDolkow,这是不可能的。在开始Intent之前,正确加载布局。万事如意。就在我从外地回来的时候