- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的应用程序中,我有一个包含一些项目的 ListView 。每个项目都有一个从远程 url 下载的 img。
我使用 ImageLoader 库将每个图像加载到我的应用中。
我的 ListView 构建良好,我有所有图像,但我在 LogCat 中有一个警告:
02-05 15:16:17.938: W/ImageLoader(17363): Try to initialize ImageLoader which had already been initialized before. To re-init ImageLoader with new configuration call ImageLoader.destroy() at first.
我不知道如何解决这个问题?
这是我的适配器的代码:
public class ArticleListAdapterHome extends ArrayAdapter<ArticleHome> {
Typeface faceLight = Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Light.ttf");
Typeface faceBold = Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Bold.ttf");
public ArticleListAdapterHome(Activity activity, List<ArticleHome> articles) {
super(activity, 0, articles);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Activity activity = (Activity) getContext();
LayoutInflater inflater = activity.getLayoutInflater();
View rowView;
ArticleHome article = getItem(position);
if (position == 0) {
rowView = inflater.inflate(R.layout.item_ligne_home_premier, null);
////////////////////////////////////////////////////////
///// IMAGE
///////////////////////////////////////////////////////
ImageView imgfirst = (ImageView) rowView.findViewById(R.id.imgimg) ;
DisplayImageOptions options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisc(true)
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getContext())
.defaultDisplayImageOptions(options)
.threadPriority(Thread.MAX_PRIORITY)
.denyCacheImageMultipleSizesInMemory()
.memoryCacheSize(2 * 1024 * 1024)
.build();
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
imageLoader.displayImage(article.getImage(), imgfirst);
ListView listV = (ListView)parent;
boolean pauseOnScroll = false; // or true
boolean pauseOnFling = true; // or false
PauseOnScrollListener listener = new PauseOnScrollListener(imageLoader, pauseOnScroll, pauseOnFling);
listV.setOnScrollListener(listener);
////////////////////////////////////////////////////////
///// TITLE
///////////////////////////////////////////////////////
TextView textView = (TextView) rowView.findViewById(R.id.titlepremier);
textView.setText(article.getTitle());
textView.setTypeface(faceLight);
}
else {
rowView = inflater.inflate(R.layout.item_ligne_home, null);
////////////////////////////////////////////////////////
///// IMAGE
///////////////////////////////////////////////////////
ImageView img = (ImageView) rowView.findViewById(R.id.imgimg) ;
DisplayImageOptions options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisc(true)
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getContext())
.defaultDisplayImageOptions(options)
.threadPriority(Thread.MAX_PRIORITY)
.denyCacheImageMultipleSizesInMemory()
.memoryCacheSize(2 * 1024 * 1024)
.build();
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
imageLoader.displayImage(article.getImage(), img);
ListView listV = (ListView)parent;
boolean pauseOnScroll = false; // or true
boolean pauseOnFling = true; // or false
PauseOnScrollListener listener = new PauseOnScrollListener(imageLoader, pauseOnScroll, pauseOnFling);
listV.setOnScrollListener(listener);
////////////////////////////////////////////////////////
///// TITLE
///////////////////////////////////////////////////////
TextView title = (TextView) rowView.findViewById(R.id.titlearticleothers);
title.setText(article.getTitle());
title.setTypeface(faceBold);
////////////////////////////////////////////////////////
///// DESCRIPTION
///////////////////////////////////////////////////////
TextView desc = (TextView) rowView.findViewById(R.id.descriptionarticleothers);
desc.setText(article.getDescription());
desc.setTypeface(faceLight);
////////////////////////////////////////////////////////
///// DATE
///////////////////////////////////////////////////////
TextView date = (TextView) rowView.findViewById(R.id.date);
String pubDate = article.getPubDate();
SimpleDateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss Z", Locale.ENGLISH);
Date pDate;
try {
pDate = df.parse(pubDate);
pubDate = DateUtils.getDateDifference(pDate);
pubDate = pubDate.replace("-", "");
} catch (ParseException e) {
Log.e("DATE PARSING", "Error parsing date..");
pubDate = "published by " + article.getAuthor();
}
date.setText("Il y a " +pubDate);
}
return rowView;
}
最佳答案
当您尝试初始化已经初始化的 ImageLoader 时会发生此错误。
在我的应用程序中,我在不同的 Activity 中以两种方式初始化了 ImageLoader:
1:
imageLoader.init(ImageLoaderConfiguration.createDefault(this.getSherlockActivity()));
2:
initImageLoader(); //where this function contained the configuration settings.
在我的应用程序中,我使用了导致此错误的 ViewPager
,这就是原因:
重要的是要知道,当您在 ViewPager
中打开一个选项卡时,它会自动在后台加载第二个选项卡。
假设此初始化是在第一个选项卡上设置的。因此,当您转到第二个和第三个选项卡时,您会返回到第二个选项卡,然后加载第一个选项卡并尝试再次初始化 ImageLoader。
您需要做的是检查它是否已初始化
if (!imageLoader.isInited()) {
initImageLoader();
}
关于java - 修复 ImageLoader : "Try to initialize ImageLoader which had already been initialized before" 的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21579826/
你好,我正在尝试在 opensuse 中创建一个 Shell 脚本来创建 MySqlUsers,但是当我尝试运行它时,我得到了这个错误: Warning: Could not start progra
我阅读了有关此错误的所有信息,但未能找到任何解决方案。 我有一个看起来像这样的简单页面: $xmlfile = "/var/www/marees.xml"; //Fichier dans lequel
运行 Websphere App 服务器 V8.5 Liberty Profile。我找不到任何可以解决这些警告的帮助。我在 eclipse 。 ************** He
我尝试在 GC AppEngine 上部署应用程序。部署过程中没有错误,但应用程序无法运行(仅显示加载页面)。日志中唯一一个奇怪的原始 OpenBLAS WARNING - could not det
我刚开始学习 RestKit。我正在尝试使用它来使用 Foursquare api 获取附近的 field 。但每次我尝试“objectLoader:(RKObjectLoader *)objectL
我对 Vuejs 比较陌生,每次按键时都会收到以下警告: [Vue warn]: $attrs is readonly. found in ---> at src\component
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external
我在尝试修改某些表时不断收到此错误。这是我的代码: /** = 1){ //$this->mysqli->autocommit(FALSE); //insert th
当我尝试使用 PHP 的 ftp_put 函数上传文件时,早些时候出现错误: 警告:ftp_put() [function.ftp-put]:无数据连接 现在,我尝试开启被动模式: ftp_pasv(
我一直在努力让这段代码适用于现阶段的年龄。它旨在计算一个范围内的素数,我已经编写了一种方法来打印它们。不幸的是,代码将无法编译,引用警告: “警告:[未检查] 未检查调用 add(E) 作为原始类型
尝试使用带有架构组件和Kotlin的Android Studio 3 Canary 5构建示例会给出此警告。 谁能告诉我原因? 谢谢,Ove 编辑#1: 这是Dan Lew前段时间制作的样本 http
我正在编写一个 Shiny 的应用程序,它运行得非常好,突然我收到两条警告消息。我已经回到以前运行良好的副本,它们现在显示相同的错误消息,所以我真的很困惑。我的代码仍然运行并在我 Shiny 的仪表板
03-25 05:52:15.329 8029-8042/com.mgh.radio W/MediaPlayerNative: info/warning (703, 0) 03-25 05:52:15
我在构建时在我的 gradle 控制台中收到一条警告消息: 警告:[options] 引导类路径未与 -source 1.7 一起设置 1 条警告 我怎样才能解决这个问题? 任何帮助表示赞赏! 最佳答
我有下一个代码: 测试.c #include "a1.h" int main() { int a = 8; foo(a); return a; } a1.h void foo
我的程序中有一个 WORD 变量。 WORD hour; 但是当我比较它的时候 if(hour>=0 && hour=0 && hour=0 的比较,它始终适用于 hour 是 WORD 类型,它是一
安全研究人员警告称,一个最新的严重的Java错误,其本质与目前在全球范围内利用的臭名昭著的 Log4Shell 漏洞相同 。 CVE-2021-42392 尚未在国家漏洞数据库 (NVD) 中
安装SqlServer2005时“版本变更检查 (警告)"问题排查 今天同事在安装SqlServer2005时遇到“版本变更检查 (警告) ”问题导致安装失败,警告提示如下: - 版本
我的 UWP 项目中出现以下警告。我已经标记了解决方案的示例,但我更感兴趣的是为什么在同一平台上创建另一个空项目时不会出现此警告? APPX4001: Build property AppxBundl
我试图修复我的登录脚本,在我的本地主机上它可以工作,但上传到我的在线测试服务器时,注销被破坏,我得到这个错误: Warning: session_destroy() [function.session
我是一名优秀的程序员,十分优秀!