![](/img/trans.png)
[英]NullPointerException when ProgressDialog dismiss method is called android
[英]JNI FindClass called with NullPointerException when AdaptiveCard.DeserializeFromString called on android
我正在尝试构建一个延迟加载列表,该列表显示一组使用自适应卡 android build 2.7.0 的自适应卡。 我能够成功解析和呈现第一组数据。 但是当从后端获取第二组数据时,反序列化器会抛出以下错误。
JNI 在应用程序中检测到错误:JNI FindClass 调用时出现未决异常java.lang.NullPointerException:AdaptiveCards::BaseCardElementParser::Deserialize java_vm_ext.cc:577] 中的 null upcall 对象] at long io.adaptivecards.objectmodel.AdaptiveCardObjectModelJNI.AdaptiveCard_Deserialize0( .String, java.lang.String, long, io.adaptivecards.objectmodel.ParseContext) (AdaptiveCardObjectModelJNI.java:-2) java_vm_ext.cc:577] at io.adaptivecards.objectmodel.ParseResult io.adaptivecards.objectmodel.AdaptiveCard.DeserializeFromString (java.lang.String, java.lang.String, io.adaptivecards.objectmodel.ParseContext) (AdaptiveCard.java:211) java_vm_ext.cc:577] 在 io.adaptivecards.objectmodel.ParseResult com.mrg.cardfeed.PSCardLoader。反序列化(java.lang.String)
在以下调用中抛出错误
ParseResult parseResult = AdaptiveCard.DeserializeFromString(card, AdaptiveCardRenderer.VERSION, context);
// the simplified version of the method I use to render a card
public void renderCardView(CardDO cardDO) {
try {
RawDO rawcard = cardDO.getRowData();
String card = rawcard.raw_json;
ParseResult parseResult = AdaptiveCard.DeserializeFromString(card, AdaptiveCardRenderer.VERSION, context);
JsonObject jsonObject = JsonParser.parseString(additionalData).getAsJsonObject(); // other data
RenderedAdaptiveCard renderedCard = AdaptiveCardRenderer.getInstance().render(activity, ((FragmentActivity) activity).getSupportFragmentManager(), parseResult.GetAdaptiveCard(), (ICardActionHandler) activity, PSHostConfig.psconfig.current);
for (AdaptiveWarning warning : renderedCard.getWarnings()) {
System.out.println(warning.getMessage());
}
View rendered = renderedCard.getView();
rendered.canScrollVertically(1);
String additionalData = parseResult.GetAdaptiveCard().GetAdditionalProperties().getString(); // for other data
// Present the view
} catch (Exception e) {
System.out.println(e);
}
}
我正在使用异步任务来获取数据、解析和呈现卡片。 所以我认为这个问题与线程安全有关。 有没有人在使用自适应卡 android 时遇到过这个问题。 如果我犯了新手错误,请告诉我,因为我对自适应卡片很陌生。 任何帮助都受到高度赞赏。
请分享示例数据以确定您的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.