我有一个错误,我不知道为什么会发生,我希望你能帮助我。我正在加载一个由几个networkImageView组成的gridview。我创建了一个 customGridViewAdapter,我发送一个 List imagesUrls 并将这些图像下载到 networkImageViews 中。好吧,在这种情况下,我发送的 url 列表有 10 个元素。当适配器加载这10个networkImageView时没有问题,实际上它可以工作,但我不知道为什么,适配器继续执行两次(此时它占据了url列表的位置0)。所以,我有这个错误
11-16 20:07:03.575: E/AndroidRuntime(6142): FATAL EXCEPTION: main
11-16 20:07:03.575: E/AndroidRuntime(6142): java.lang.NullPointerException
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.GridView.setupChild(GridView.java:1373)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.GridView.makeAndAddView(GridView.java:1341)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.GridView.makeRow(GridView.java:343)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.GridView.fillDown(GridView.java:285)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.GridView.fillFromTop(GridView.java:418)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.GridView.layoutChildren(GridView.java:1230)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.AbsListView.onLayout(AbsListView.java:1873)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.view.View.layout(View.java:11444)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.view.ViewGroup.layout(ViewGroup.java:4331)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.FrameLayout.onLayout(FrameLayout.java:443)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.view.View.layout(View.java:11444)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.view.ViewGroup.layout(ViewGroup.java:4331)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1666)
11-16 20:07:03.575: E/AndroidRuntime(6142): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1524)
这是下载图像的适配器的一部分:
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
String imageUrlSelected = imagesUrl.get(position);
View vi=convertView;
RecordHolder holder;
if(convertView==null){
vi = inflater.inflate(R.layout.row_grid_fotos_elemento, null);
holder = new RecordHolder();
holder.networkImageView = (NetworkImageView) vi.findViewById(R.id.niv_large);
if (imagen != null) {
holder.networkImageView.setImageUrl(imageUrlSelected, imageLoader);
} else {
}
}
return vi;
}
public class RecordHolder {
NetworkImageView networkImageView;
}
当我逐步调试时,我可以看到图像加载成功,但是,正如我之前所说,它继续执行。
我会很感激你的帮助!