如何解决警告:未选中的对'addOnSuccessListener(OnSuccessListener <!-?super TResult->)的调用

时间:2019-05-14 12:58:37

标签: android warnings raw-types

我从AndroidStudio Unchecked call to 'addOnSuccessListener(OnSuccessListener<? super TResult>)' as a member of raw type 'com.google.android.gms.tasks.Task'收到下一个警告

我正在尝试将其删除,认识到我必须用某种类型声明侦听器,但是当我尝试制作

时,
t.addOnSuccessListener<byte[]> (new ... 

它甚至不编译。

Task t = ImageController.getProfilePicture( mContact );
                t.addOnSuccessListener( new OnSuccessListener<byte[]>( ) {
                    @Override
                    public void onSuccess( final byte[] bytes ) {
                        mProfilePicture.setImageBitmap( PictureConversion.byteArrayToBitmap( bytes ) );
                    }
                } );

最后一个是来自我的侦听器的代码,下一个是getProfilePicture的实现:

public static Task getProfilePicture( String userID ) {
    StorageReference reference = FirebaseStorage.getInstance( ).getReference( );
    StorageReference downloadRef = reference
            .child( DataBasePath.IMAGE.getValue( ) )
            .child( userID )
            .child( DataBasePath.PROFILE_PICTURE.getValue( ) );

    return downloadRef.getBytes( Long.MAX_VALUE ).addOnSuccessListener( new OnSuccessListener<byte[]>( ) {
        @Override
        public void onSuccess( byte[] bytes ) {
            byteArray = bytes;
        }
    } );
}

1 个答案:

答案 0 :(得分:0)

在您的情况下,只需在第一行中为任务添加类型:

Task<byte[]> t = ImageController.getProfilePicture( mContact );