listview-设置适配器后不执行getView方法,是怎么回事

问题描述

设置适配器后不执行getView方法,是怎么回事

//重写了PullToRefreshAdapterViewBase ,给他设置适配器
private List> list;
private LayoutInflater layoutinflater;
private ImageLoader imageLoader;
private g gable;
private Context context;
public ListAdapter(Context context,
List> list, g gable,
ImageLoader imageLoader) {
// 实例化ImageLoaderConfiguration
this.context = context;
this.gable = gable;
this.imageLoader = imageLoader;
this.layoutinflater = LayoutInflater.from(context);
this.list = list;
System.out.println("进入ListAdapter");
System.out.println(list.size());//这里是可以打印的,但是到这就没了后续
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return list.size();
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return list.get(position);
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
     System.out.println("进入getview");
        convertView = layoutinflater.inflate(R.layout.news_list_item,
                null);
    System.out.println(list.size());
    HashMap<String, Object> HashMap =list.get(position);

    ImageView iv = (ImageView) convertView.findViewById(R.id.news_list_iv);
    TextView tv = (TextView) convertView.findViewById(R.id.news_list_tv);
    TextView dt = (TextView) convertView.findViewById(R.id.news_list_date);

// if (HashMap.size()>0) {
// for (int i = 0; i < HashMap.size(); i++) {
//

String file = (String) HashMap.get("file");
System.out.println(file+"111111");
String name = (String) HashMap.get("name");
System.out.println(name+"111111");
String lessonType = (String) HashMap.get("lessonType");
String img = (String) HashMap.get("image");
int image = Integer.parseInt(img);
if (image==0) {
imageLoader.displayImage("http://le.xianzaixue.com/image/lesson/"+ lessonType + ".jpg", iv,
gable.initDisplayImageOptions());
}else if(image==1){
String folder = (String) HashMap.get("folder");
imageLoader.displayImage("http://le.xianzaixue.com/"+folder+"/"+file.substring(0, 8)+"/"+file.substring(8, 14)+".jpg", iv,
gable.initDisplayImageOptions());
}

            tv.setText(name);
            dt.setText(file.substring(0, 4) + "-" + file.substring(4, 6) + "-"
                    + file.substring(6, 8));

// }
// }

    return convertView;
}

解决方案

你的list在哪填充的数据,list中没值吧

解决方案二:

你有没有为listview设置适配器啊

时间: 2024-12-03 18:58:41

listview-设置适配器后不执行getView方法,是怎么回事的相关文章

适配器notifyDataSetChanged()后不执行Getview()方法

问题描述 适配器notifyDataSetChanged()后不执行Getview()方法 如题,就是我的listview适配器notifyDataSetChanged()后不执行Getview()方法 解决方案 getcount方法有返回值,就是Getview方法不执行 解决方案二: listview界面没更新 解决方案三: 适配器中的getView方法在适配器中,何时调用getView()方法?对于适配器ArrayAdapter中getView方法重写 解决方案四: 新手一枚,有木有帮忙解答

页面加载完后自动执行一个方法的js代码_javascript技巧

1.在body中用onload: <body onload="myfunction()"> 2.在脚本中用window.onload: <script type="text/javascript"> function myfun() { alert("this window.onload"); } /*用window.onload调用myfun()*/ window.onload=myfun;//不要括号 </scr

android中ListView多次刷新重复执行getView的解决方法_Android

以前倒是没有注意listview的getView会重复执行多次,这次因为布局比较复杂,所以在测试的时候去断点跟踪,发现同一条数据不断的重复执行.觉得很奇怪,于是上网搜索了一下.网上的解释基本一致,就是ListView布局时height和width都不是fill_parent,导致不断计算高度,不断刷新.或者说它的父容器没有设置成fill_parent. 可以布局太复杂的情况下,全部按照fill_parent去调整不现实.所以想了另一种方案,就是动态固定高度. 在程序运行后,固定ListView的

getview方法不执行- android listview自定义adapter,getview方法不显示

问题描述 android listview自定义adapter,getview方法不显示 adapter的getCount值不为0,但是不执行getview方法,在ErrorLog中打印出来的log在下面贴出来了,希望路过的大牛们帮忙看看 解决方案 问题找到了,是我的listView的布局控件不正确,已经改好了 解决方案二: android listView 重写Adapter方法getView的性能优化问题 解决方案三: 空指针异常,找找在哪个位置. 解决方案四: log和问的错没什么关系 解

Android: Gallery的adapter中getView方法被执行多次

项目中遇到一个奇怪的问题:为Gallery设置的adapter中的getView方法被调用多次 客户需求:一次只能滑动一格 参考资料: http://stackoverflow.com/questions/4687370/gallery-scroll-one-image-at-a-time http://stackoverflow.com/questions/6058609/android-gallerys-getview-returning-incorrect-position Android

Android ListView滚动到底后自动加载数据_Android

熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列表组件,可以说列表组件是Android数据展现方面最重要的组件,我们 今天就要讲一讲列表组件ListView加载数据的相关内容.通常来说,一个应用在展现大量数据时,不会将全部的可用数据都呈现给用户,因为这不管对于服 务端还是客户端来说都是不小的压力,因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.比如:微博客户端可能会在用户滑动至列表底端时自动加 载下一页数据,也可能在底部放置一个"加载更多"按钮,

Android ListView滚动到底后自动加载数据

熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列表组件,可以说列表组件是Android数据展现方面最重要的组件,我们 今天就要讲一讲列表组件ListView加载数据的相关内容.通常来说,一个应用在展现大量数据时,不会将全部的可用数据都呈现给用户,因为这不管对于服 务端还是客户端来说都是不小的压力,因此,很多应用都是采用分批次加载的形式来获取用户所需的数据.比如:微博客户端可能会在用户滑动至列表底端时自动加 载下一页数据,也可能在底部放置一个"加载更多"按钮,

ios开发-iOS开发中,如和使等待block执行完毕后再执行下面的代码?

问题描述 iOS开发中,如和使等待block执行完毕后再执行下面的代码? int a = 0; void (^requestBlock)(NSDictionary *) = ^(int data){ a = data;//这里假设data = 1,那么a也要 = 1 }: NSLog(a); 这里的a永远是0,在有这段block的前提下,有什么办法让程序同步执行,也就是等待block执行完之后再执行下面的代码?这里只是的例子,我确实有这方面的需要. 解决方案 自己用信号量来同步 block后面w

如何解决普联TL-WR886N设置好后不能上网

  解决普联TL-WR886N设置好后不能上网的方法一.检查上网设置是否成功 登录到设置页面后,点击"运行状态"-->然后在右侧界面中,有一个"WAN口状态"选项. 如果"WAN口状态"选项下的IP地址.子网掩码.网关.DNS选项后面全部显示0,说明TL-WR886N的连接.或者设置有问题,导致不能上网. "WAN口状态"全部显示0,说明TL-WR886N设置不成功 如果如果"WAN口状态"选项下的I