其他分享
首页 > 其他分享> > Android Studio 3.2之后如何解决NonNull注释?

Android Studio 3.2之后如何解决NonNull注释?

作者:互联网

更新到Android Studio 3.2之后,我从lint那里得到了一个“可能的错误”:

"Not annotated method overrides method annotated with @NonNull".

在更新到Android Studio 3.2之前我没有遇到任何问题,我该如何解决这个问题?

@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
    View row = convertView;
    ViewHolder holder;

    if (convertView == null) {
        holder = new ViewHolder();
        row = LayoutInflater.from(context).inflate(R.layout.gallery_view_row, parent, false);
        holder.imageView = row.findViewById(R.id.filePath);
        row.setTag(holder);
    } else holder = (ViewHolder) row.getTag();

    String file_path = objects.get(position);
    GlideApp.with(context).load(MovieDB.IMAGE_URL + context.getResources().getString(R.string.galleryImgSize) + file_path)
            .into(holder.imageView);
    return row;
}

Android Lint在Android Studio 3.2更新之前从未标记过此方法,但现在我在方法和“parent”参数上获得了2个标记

这是使用的2个进口

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

问题只存在于“ArrayAdapter”类中,超类将这5个导入以红色突出显示

import android.annotation.ArrayRes;
import android.annotation.IdRes;
import android.annotation.LayoutRes;
import android.annotation.NonNull;
import android.annotation.Nullable;

解决方法:

我遇到了同样的问题,终于发现了一个修复,希望它对你有用……

打开“设置”,选择“编辑器”,然后选择“检查”.

在检查列表中,转到“可能的错误”,然后转到“@NotNull / @Nullable问题”.

在右侧窗格中,选择“配置注释”按钮.

将“androidx.annotation.Nullable”和“androidx.annotation.NonNull”添加到相应的列表中.我也把它们作为默认值.

不再看到这种令人抓狂的行为.

Screenshot

标签:android,android-studio,android-lint,android-studio-3-2
来源: https://codeday.me/bug/20190622/1261789.html