您好我在一个位于ViewHolder内部的RobotoText中设置了一些文本我正在调用它:
viewHolder.txtSimilarAds.setText((((Property) ads.get(position)).getSimilar_items_count() == 1 ? context.getString(R.string.ad_data_similar) : context.getString(R.string.ad_data_similar_plural, ads.get(position).getImagesCount())));
然而(有时并不总是)由于某种原因我不断得到这个错误异常UnknownFormatConversionException并且它指向该类内部的这一行。可能是什么问题呢?我做错了吗?
答案 0 :(得分:1)
检查R.string.ad_data_similar_plural
中的字符串是否包含整数的有效占位符。它应该是"Here is my number: %d"
。
顺便说一句,像这样的单行程更难以理解,并使调试更加困难。一种更具可读性的方法可以更容易地给出错误的行:
String similarAdsText;
Property adsProperty = ads.get(position);
if (adsProperty.getSimilar_items_count() == 1) {
similarAdsText = context.getString(R.string.ad_data_similar);
}
else {
similarAdsText = context.getString(R.string.ad_data_similar_plural, adsProperty.getImagesCount());
}
viewHolder.txtSimilarAds.setText(similarAdsText);
答案 1 :(得分:0)
你在单行尝试分割它的方法太多了。问题看起来就像是将Property
对象与错误的1进行比较。
(Property)ads.get(position)).getSimilar_items_count() == 1
change this to
Property property = (Property) ads.get(position));
property.getSimilar_items_count() == 1