- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我目前正在使用此处的 LazyList View :https://github.com/thest1/LazyList
除了 ListView 的初始加载,一切都很好。没有图像正在加载。我实际上必须向下滚动然后向上滚动才能填充图像。下面是我正在使用的适配器的代码。我在这里做错了什么?
更新:请注意,我取出了 ImageView 的标签以查看它是否有帮助,但我仍然得到相同的结果。
public class BattleAdapter extends ArrayAdapter<Battle> {
private ArrayList<Battle> data = null;
private Context context;
private int layoutResourceId;
private ImageLoader imageLoader;
public BattleAdapter(Context context, int layoutResourceId,
ArrayList<Battle> data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
this.imageLoader = new ImageLoader(context);
}
static class BattleHolder {
public CropImageView imageRight;
public CropImageView imageLeft;
public TextView displayNameRight;
public TextView displayNameLeft;
public TextView numComments;
public TextView numVotes;
public TextView timeLeft;
public ImageView winnerImg1;
public TextView winnerTxt1;
public ImageView winnerImg2;
public TextView winnerTxt2;
public TextView tiedTxt1;
public TextView tiedTxt2;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
BattleHolder holder = null;
if (convertView == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
holder = new BattleHolder();
convertView = inflater.inflate(R.layout.versus_list_item, null);
holder.imageLeft = (CropImageView) convertView
.findViewById(R.id.versus_challenger);
holder.imageLeft.setClickable(false);
holder.imageRight = (CropImageView) convertView
.findViewById(R.id.versus_challenged);
holder.imageRight.setClickable(false);
holder.displayNameLeft = (TextView) convertView
.findViewById(R.id.versus_challenger_name);
holder.displayNameRight = (TextView) convertView
.findViewById(R.id.versus_challenged_name);
holder.numVotes = (TextView) convertView
.findViewById(R.id.num_votes);
holder.numComments = (TextView) convertView
.findViewById(R.id.num_comments);
holder.timeLeft = (TextView) convertView
.findViewById(R.id.time_left);
holder.winnerImg1 = (ImageView) convertView
.findViewById(R.id.winner_img1);
holder.winnerImg2 = (ImageView) convertView
.findViewById(R.id.winner_img2);
holder.winnerTxt1 = (TextView) convertView
.findViewById(R.id.winner_img1_txt);
holder.winnerTxt2 = (TextView) convertView
.findViewById(R.id.winner_img2_txt);
holder.tiedTxt1 = (TextView) convertView
.findViewById(R.id.tie_txt1);
holder.tiedTxt2 = (TextView) convertView
.findViewById(R.id.tie_txt2);
holder.timeLeft.setSelected(true);
convertView.setTag(holder);
} else {
holder = (BattleHolder) convertView.getTag();
}
Battle battle = data.get(position);
if (battle != null) {
User challenger = battle.getChallenger();
User challenged = battle.getChallenged();
holder.displayNameLeft.setText(challenger.getDisplayName());
holder.displayNameRight.setText(challenged.getDisplayName());
holder.numComments.setText(Integer.toString(battle
.getCommentCount()));
holder.numVotes.setText(Integer.toString(battle.getVoteCount()));
if (battle.getTimeLeft() != null) {
if (battle.getTimeLeft().startsWith("-")) {
holder.timeLeft.setText("Time's up. Calculating winner");
} else if (battle.getTimeLeft().endsWith("responded")) {
String newString = String.format(battle.getTimeLeft(),
challenged.getDisplayName());
holder.timeLeft.setText(newString);
} else
holder.timeLeft.setText(battle.getTimeLeft());
}
imageLoader.DisplayImage(challenger.getPicPath(), holder.imageLeft);
imageLoader.DisplayImage(challenged.getPicPath(), holder.imageRight);
if (battle.getWinnerID() == -5) {
holder.winnerImg1.setVisibility(View.VISIBLE);
holder.winnerImg2.setVisibility(View.VISIBLE);
holder.winnerTxt2.setVisibility(View.INVISIBLE);
holder.winnerTxt1.setVisibility(View.INVISIBLE);
holder.tiedTxt1.setVisibility(View.VISIBLE);
holder.tiedTxt2.setVisibility(View.VISIBLE);
}
if (battle.getWinnerID() != 0 && battle.getWinnerID() != -1) {
if (challenger.getUserID() == battle.getWinnerID()) {
holder.winnerImg1.setVisibility(View.VISIBLE);
holder.winnerTxt1.setVisibility(View.VISIBLE);
holder.winnerImg2.setVisibility(View.VISIBLE);
holder.winnerTxt2.setVisibility(View.INVISIBLE);
holder.tiedTxt1.setVisibility(View.INVISIBLE);
holder.tiedTxt2.setVisibility(View.INVISIBLE);
}
else if (challenged.getUserID() == battle.getWinnerID()) {
holder.winnerImg2.setVisibility(View.VISIBLE);
holder.winnerTxt2.setVisibility(View.VISIBLE);
holder.winnerImg1.setVisibility(View.VISIBLE);
holder.winnerTxt1.setVisibility(View.INVISIBLE);
holder.tiedTxt1.setVisibility(View.INVISIBLE);
holder.tiedTxt2.setVisibility(View.INVISIBLE);
}
}
if (battle.getWinnerID() == 0 || battle.getWinnerID() == -1) {
holder.winnerImg1.setVisibility(View.INVISIBLE);
holder.winnerTxt1.setVisibility(View.INVISIBLE);
holder.winnerImg2.setVisibility(View.INVISIBLE);
holder.winnerTxt2.setVisibility(View.INVISIBLE);
holder.tiedTxt1.setVisibility(View.INVISIBLE);
holder.tiedTxt2.setVisibility(View.INVISIBLE);
Log.i("BattleAdapter", "No winner");
}
}
return convertView;
}
}
最佳答案
为此使用 AndroidQuery。 ImageLoader 不是通用的ImageLoader,Android 为我们提供了AndroidQuery 及其awsom 来使用,非常快速和高效。
从这里下载 jar:http://code.google.com/p/android-query/将此 jar 添加到您的构建路径。
private AQuery androidAQuery;
androidAQuery=new AQuery(this);
androidAQuery.id(YOUR IMAGE VIEW).image(YOUR IMAGE URL, true, true,DEFUALT IMAGE(optional));
关于Android LazyList ListView 的初始加载在滚动之前不显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18997131/
如果附加了 'not-scroll' 类,我希望我的 body 不滚动,否则它应该正常工作。 我已经搜索这个问题两天了,但找不到任何适合我的解决方案。 我想要的是向 body 添加一个 class,并
我发现似乎是 iOS Safari 中的错误(我正在 iOS 8 上进行测试)。当绝对定位的 iFrame 漂浮在一段可滚动内容上方时,滚动 iFrame 也会滚动下面的内容。以下 HTML (ava
我有以下代码来显示一系列投资组合图片,这些图片以 SVG 格式存储在滚动 div 中: 在 Safari 中滚动使用两根手指或鼠标滚轮当光标位于 SVG 之一上时不起作用。 该页
我想用 javascript 做的是: 一旦你向下滚动页面,将#sidebar-box-fixed 的位置从 position: relative; 更改为定位:固定;。改回position:rela
我对 Elasticsearch 的滚动功能有点困惑。在 elasticsearch 中,每当用户在结果集上滚动时,是否可以每次调用搜索 API?来自文档 "search_type" => "scan
我试图做到这一点,以便当我向上或向下滚动页面时,它会运行不同的相应功能。我发现了一个类似的问题here但我已经尝试了他们的答案并且没有运气。 注意:此页面没有正常显示的滚动条。没有地方可以滚动。 bo
(C语言,GTK库) 在我的表单上,我有一个 GtkDrawingArea 小部件,我在上面使用 Cairo 绘制 GdkPixbufs(从文件加载)。我想要完成的是能够在窗口大小保持固定的情况下使用
最近我一直在尝试创建一个拉到(刷新,加载更多)swiftUI ScrollView !!,灵感来自 https://cocoapods.org/pods/SwiftPullToRefresh 我正在努
我正在开发一个应用程序,其中有两个带有可放置区域的列表和一个带有可拖动项目的侧面菜单。 当我滚动屏幕时,项目的位置困惑。 我试图在谷歌上寻找一些东西,最后得到了这个问题:jQuery draggabl
我在 UIWebView 中加载了一个 HTML 表单,而我的 UIWebView 恰好从 View 的中间开始并扩展。我必须锁定此 webView 不滚动并将其放在 ScrollView 之上以允许
如何在每个元素而不是整个元素上应用淡入淡出(与其高度相比)? HTML: CSS: * { padding: 0; margin: 0; box-sizing: border
我想使用带有垂直轴的 PageView 并使用鼠标滚动在页面之间移动,但是当我使用鼠标滚动时页面不滚动...仅页面单击并向上/向下滑动时滚动。 有什么办法吗? 我想保留属性 pageSnapping:
我制作这个程序是为了好玩,但我被卡住了,因为程序在屏幕外运行。如何在不完全更改代码的情况下实现滚动条。 public static void main(String args[]) throws IO
我想使用带有垂直轴的 PageView 并使用鼠标滚动在页面之间移动,但是当我使用鼠标滚动时页面不滚动...仅页面单击并向上/向下滑动时滚动。 有什么办法吗? 我想保留属性 pageSnapping:
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
使用 jquery 技术从 css-tricks.com 获得滚动/跟随侧边栏,如果您不知道我在说什么,这里是代码: $(function() { var $sidebar = $
我是 jQuery Mobile 新手。我需要向我的应用程序添加 Facebook 滑动面板功能。 我经历了 sliding menu panel ,它工作正常,但我在菜单面板中的内容超出了窗口大小,
有没有办法在 js 或 jQuery 或任何其他工具中检测 ctrl + 滚动。我正在尝试执行一些动态布局代码,我需要检测不同分辨率下的屏幕宽度,我通过使用 setTimeout() 的计时器实现了这
我有一部分html代码:
我想控制 RichTextBox 滚动,但在控件中找不到任何方法来执行此操作。 这样做的原因是我希望当鼠标光标位于 RichTextBox 控件上时鼠标滚轮滚动有效(它没有事件焦点:鼠标滚轮事件由表单
我是一名优秀的程序员,十分优秀!