无法激活java类型MvxRecyclerView的JNI句柄

时间:2016-05-27 11:03:14

标签: android xamarin android-recyclerview mvvmcross android-support-library

我想实现MvxRecyclerView,但是在运行期间我在SetContentView()中遇到异常:

System.NotSupportedException: Could not activate JNI Handle 0x32700041
(key_handle 0xb29d17e8) of Java type
'mvvmcross/droid/support/v7/recyclerview/MvxRecyclerView' as managed
type 'MvvmCross.Droid.Support.V7.RecyclerView.MvxRecyclerView'.

我使用最新的Xamarin.Android.Support ..(23.3.0)和MvvmCross(4.1.6 / 4.1.7)的NuGet包。

知道造成这种异常的原因吗?

1 个答案:

答案 0 :(得分:2)

目前有关Ken Kosmowski问题的更多信息: https://github.com/MvvmCross/MvvmCross-AndroidSupport/issues/252

使用@kjeremy在那里引用的解决方法,直到问题得到解决: “解决方法包括将Resources \ values \ attrs.xml文件添加到Droid项目中,其中包含以下内容:”

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <declare-styleable name="MvxRecyclerView">
    <attr name="MvxItemTemplateSelector" format="string" />
  </declare-styleable>  
</resources>

完成目的。

使用MVVMCross 4.2.0

您应该删除attrs.xml并将所有MvxItemTemplateSelector引用更改为MvxTemplateSelector。