Android 异常:UnknownFormatConversionException
Android Exception: UnknownFormatConversionException
您好,我正在 RobotoText 中设置一些文本,该文本位于 ViewHolder 中,我这样称呼它:
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,它指向 class 内的这一行。可能是什么问题呢?我做错了什么吗?
您在单行中尝试了太多方法,请尝试将其拆分。问题看起来您正在将 Property
对象与 1 进行比较,这是错误的。
(Property)ads.get(position)).getSimilar_items_count() == 1
change this to
Property property = (Property) ads.get(position));
property.getSimilar_items_count() == 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);
您好,我正在 RobotoText 中设置一些文本,该文本位于 ViewHolder 中,我这样称呼它:
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,它指向 class 内的这一行。可能是什么问题呢?我做错了什么吗?
您在单行中尝试了太多方法,请尝试将其拆分。问题看起来您正在将 Property
对象与 1 进行比较,这是错误的。
(Property)ads.get(position)).getSimilar_items_count() == 1
change this to
Property property = (Property) ads.get(position));
property.getSimilar_items_count() == 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);