android glide图片灰色,glide 显示 加载不出来 图片 - 优快云博客

在尝试使用Glide加载网络图片时,遇到图片无法显示的问题。通过添加Glide的监听器,发现错误提示为缺少INTERNET权限。在AndroidManifest.xml中添加INTERNET权限后,图片成功加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

本来想写个Demo用下glide,虽说之前用过,但是只是简单地使用,并没有深入研究。但是,却遇到问题: 新建好项目之后,在布局中加了ImageView.

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/activity_main"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context="com.kite.imageloader.MainActivity">

android:id="@+id/image"

android:src="@mipmap/ic_launcher"

android:layout_width="match_parent"

android:layout_height="match_parent" />

复制代码

然后,添加glide依赖: 最后,在MainActivity中写下如下代码,以便测试:

public class MainActivity extends AppCompatActivity {

private static final String TAG = "MainActivity";

ImageView imageView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

imageView = (ImageView) findViewById(R.id.image);

Toast.makeText(this, "kkk", Toast.LENGTH_SHORT).show();

Glide.with(this).load("http://7xi8d6.com1.z0.glb.clouddn.com/16124047_121657248344062_4191645221970247680_n.jpg")

.into(imageView);

}复制代码

这样做完之后,图片怎么也显示不出来,我之前想是不是依赖没添加对,ImageView的id是不是没有正确引用等等,但是没有结果

分析

想着如此能看到报错信息就好了,可是查看log,也没有我想要的信息。 后来发现Glide为我们提供了listener()方法。于是我就加上了它。

package com.kite.imageloader;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.widget.ImageView;

import android.widget.Toast;

import com.bumptech.glide.Glide;

import com.bumptech.glide.load.resource.drawable.GlideDrawable;

import com.bumptech.glide.request.RequestListener;

import com.bumptech.glide.request.target.Target;

public class MainActivity extends AppCompatActivity {

private static final String TAG = "MainActivity";

ImageView imageView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

imageView = (ImageView) findViewById(R.id.image);

Toast.makeText(this, "kkk", Toast.LENGTH_SHORT).show();

Glide.with(this).load("http://7xi8d6.com1.z0.glb.clouddn.com/16124047_121657248344062_4191645221970247680_n.jpg")

.listener(mRequestListener)

.into(imageView);

RequestListener mRequestListener = new RequestListener() {

@Override

public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) {

Log.d(TAG, "onException: " + e.toString()+" model:"+model+" isFirstResource: "+isFirstResource);

imageView.setImageResource(R.mipmap.ic_launcher);

return false;

}

@Override

public boolean onResourceReady(Object resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) {

Log.e(TAG, "model:"+model+" isFirstResource: "+isFirstResource);

return false;

}

};

}

复制代码

打印出log如下:

D/MainActivity: onException: java.lang.SecurityException: Permission denied (missing INTERNET permission?) model:http://7xi8d6.com1.z0.glb.clouddn.com/16124047_121657248344062_4191645221970247680_n.jpg isFirstResource: true复制代码

原来:Permission denied (missing INTERNET permission?)

于是我在AndroidManifest加上

于是成功了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值