我有这个错误,我不知道为什么会发生,我希望你能帮助我。我正在加载一个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;
}
当我逐步调试时,我可以看到图像加载成功,但是,我之前说过,它一直在执行。
我将非常感谢你的帮助!
答案 0 :(得分:0)
这可能为时已晚,无法提供帮助。但通常Nullpointer Exceptions
使用Volley源于不在清单中声明自定义应用程序类。如果未执行此步骤,则您的齐射应用程序单例不会初始化,因为它的onCreate
没有被调用。
所以你应该在清单中有这样的东西
<application
android:name="ImgController" <--your volley singleton that extends Application
android:allowBackup="true"
android:label="@string/app_name">`