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


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最新版本!
  • 我正在开发主要的Telegram source,没有任何更改。

  • 并获得标签功能:
    @ViewDebug.ExportedProperty
      public Object getTag() {
        return mTag;
      }
    

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

    最佳答案

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

    应该做的把戏。 getTag()返回一个对象,您必须
  • 确保它是整数首个
  • 将其转换为整数

  • 将其与另一个Integer进行比较

    09-25 16:05