Android错误无法比拟的类型:Object和int

时间:2015-12-23 13:17:21

标签: java android android-studio telegram

我正在导入源代码,并且我在两个代码位置发生了此错误:

  

错误:(86,60)错误:无法比较的类型:Object和int

if (selectedPhotos.containsKey(photoEntry.imageId)) {
  selectedPhotos.remove(photoEntry.imageId);
  v.setChecked(false, true);
  photoEntry.imagePath = null;
  photoEntry.thumbPath = null;
  v.setPhotoEntry(photoEntry, v.getTag() == MediaController.allPhotosAlbumEntry.photos.size() - 1);
                                   // ^-here-^
} else {
  selectedPhotos.put(photoEntry.imageId, photoEntry);
  v.setChecked(true, true);

这一个:

if (passwordFrameLayout.getTag() != 0) {
//                               ^Here
  t = (Integer) passwordFrameLayout.getTag();
}

我应该对这些做些什么改变?

  • 我在Stack中搜索过但我无法修复它们。我是新手,请帮忙。

  • 我顺便使用Android Studio Last Version!

  • 我正在开发主Telegram source而没有任何变化。

获取标记功能:

@ViewDebug.ExportedProperty
  public Object getTag() {
    return mTag;
  }

在android-23 / android / view / View.java

1 个答案:

答案 0 :(得分:4)

if (passwordFrameLayout.getTag() instanceOf Integer && (Integer)passwordFrameLayout.getTag() != 0) {
//         
    t = (Integer) passwordFrameLayout.getTag();
}

应该做的伎俩。 getTag()返回一个对象,你必须

  • 确保它首先是整数
  • 将其投射到整数

将其与另一个整数进行比较