使用networkImageView下载照片时出错

时间:2013-11-16 23:23:10

标签: android image download networkimageview

我有这个错误,我不知道为什么会发生,我希望你能帮助我。我正在加载一个gridview,它由几个networkImageView组成。我创建了一个customGridViewAdapter,我发送了一个List imagesUrls,它将这些图像下载到networkImageViews中。好吧,在这种情况下,我发送的网址列表有10个元素。当适配器加载这10个networkImageView没有问题,实际上它工作,但我不知道为什么,适配器继续执行两次(此时,它采取网址列表的位置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;
}

当我逐步调试时,我可以看到图像加载成功,但是,我之前说过,它一直在执行。

我将非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

这可能为时已晚,无法提供帮助。但通常Nullpointer Exceptions使用Volley源于不在清单中声明自定义应用程序类。如果未执行此步骤,则您的齐射应用程序单例不会初始化,因为它的onCreate没有被调用。

所以你应该在清单中有这样的东西

<application 
   android:name="ImgController" <--your volley singleton that extends Application 
   android:allowBackup="true" 
   android:label="@string/app_name">`