我正在尝试使用通用图像加载程序将图像加载到gridview中,但我的应用程序似乎在活动加载时崩溃,我无法识别问题。我正在从数组加载图像,然后调用图像适配器来填充它们。
我通过应用程序进行了调试,但在LogCat中没有看到任何突出的内容。
非常感谢所有帮助:)
public class MainActivity extends Activity {
String[] imageUrls;
DisplayImageOptions options;
protected ImageLoader imageLoader = ImageLoader.getInstance();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bundle bundle = getIntent().getExtras();
imageUrls = bundle.getStringArray(Extra.IMAGES);
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_image)
.showImageForEmptyUri(R.drawable.image_for_empty_url)
.cacheInMemory()
.cacheOnDisc()
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(new ImageAdapter());
}
public class ImageAdapter extends BaseAdapter {
@Override
public int getCount() {
return imageUrls.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ImageView imageView;
if (convertView == null) {
imageView = (ImageView) getLayoutInflater().inflate(R.layout.item_grid_image, parent, false);
} else {
imageView = (ImageView) convertView;
}
imageLoader.displayImage(imageUrls[position], imageView, options);
return imageView;
}
}
}
编辑:Logcat错误:“AndroidRuntime(6789):java.lang.RuntimeException:在使用”
之前,ImageLoader必须是带配置的init答案 0 :(得分:0)
快速回答: 要在LogCat中获取某些内容,您可以执行类似
的操作try{
// Your code
}catch (Exception e){
log.e(e.tostring());
}
此外,我通常将列表/数组放在适配器类中,并通过函数
进行修改ImageAdapter.add(string s)
并在适配器中:
List<String> imageURLs = new List<String>;
public int add(String s) {
imageURLs.add(s);
notifyDataSetChanged();
}
我希望这有帮助!