Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GridView未使用通用图像加载器加载_Java_Android_Image_Gridview_Universal Image Loader - Fatal编程技术网

Java GridView未使用通用图像加载器加载

Java GridView未使用通用图像加载器加载,java,android,image,gridview,universal-image-loader,Java,Android,Image,Gridview,Universal Image Loader,我想在我的一个项目中使用UIL,所以我制作了这个原型项目来看看这个库是如何工作的。我根据来自的示例项目构建了它。但是当我运行proj时,图像不会显示,logcat也不会显示任何错误。我只是得到一个空白的白色屏幕,标题栏上有项目名称。有人能告诉我我的代码有什么问题吗?任何帮助都将被感激地接受 public class GridGallery extends Activity { DisplayImageOptions options; GridView listView; String[] ima

我想在我的一个项目中使用UIL,所以我制作了这个原型项目来看看这个库是如何工作的。我根据来自的示例项目构建了它。但是当我运行proj时,图像不会显示,logcat也不会显示任何错误。我只是得到一个空白的白色屏幕,标题栏上有项目名称。有人能告诉我我的代码有什么问题吗?任何帮助都将被感激地接受

public class GridGallery extends Activity {
DisplayImageOptions options;
GridView listView;
String[] imageUrls = new String[] { "drawable://" + R.drawable.img1,
        "drawable://" + R.drawable.img2, "drawable://" + R.drawable.img3,
        "drawable://" + R.drawable.img4, "drawable://" + R.drawable.img5,
        "drawable://" + R.drawable.img6, "drawable://" + R.drawable.img7,
        "drawable://" + R.drawable.img8, "drawable://" + R.drawable.img9,
        "drawable://" + R.drawable.img10, "drawable://" + R.drawable.img11 };
public static final int INDEX = 1;

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
            this).build();
    ImageLoader.getInstance().init(config);
    options = new DisplayImageOptions.Builder()
            .showImageOnLoading(R.drawable.ic_stub)
            .showImageForEmptyUri(R.drawable.ic_empty)
            .showImageOnFail(R.drawable.ic_error).cacheInMemory(true)
            .cacheOnDisk(true).considerExifParams(true)
            .bitmapConfig(Bitmap.Config.RGB_565).build();
}

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.image_grid, container, false);
    listView = (GridView) rootView.findViewById(R.id.grid);
    ((GridView) listView).setAdapter(new ImageAdapter());
    listView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            startImagePagerActivity(position);
        }
    });
    return rootView;

}

protected void startImagePagerActivity(int position) {

    // Intent intent = new Intent(getActivity(), SimpleImageActivity.class);
    // intent.putExtra(Constants.Extra.FRAGMENT_INDEX,
    // ImagePagerFragment.INDEX);
    // intent.putExtra(Constants.Extra.IMAGE_POSITION, position);
    // startActivity(intent);
}

public class ImageAdapter extends BaseAdapter {

    private LayoutInflater inflater;

    ImageAdapter() {
        inflater = LayoutInflater.from(getApplicationContext());
    }

    @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 ViewHolder holder;
        View view = convertView;
        if (view == null) {
            view = inflater
                    .inflate(R.layout.image_grid_item, parent, false);
            holder = new ViewHolder();
            assert view != null;
            holder.imageView = (ImageView) view.findViewById(R.id.image);
            holder.progressBar = (ProgressBar) view
                    .findViewById(R.id.progress);
            view.setTag(holder);
        } else {
            holder = (ViewHolder) view.getTag();
        }

        ImageLoader.getInstance().displayImage(imageUrls[position],
                holder.imageView, options,
                new SimpleImageLoadingListener() {
                    @Override
                    public void onLoadingStarted(String imageUri, View view) {
                        holder.progressBar.setProgress(0);
                        holder.progressBar.setVisibility(View.VISIBLE);
                    }

                    @Override
                    public void onLoadingFailed(String imageUri, View view,
                            FailReason failReason) {
                        holder.progressBar.setVisibility(View.GONE);
                    }

                    @Override
                    public void onLoadingComplete(String imageUri,
                            View view, Bitmap loadedImage) {
                        holder.progressBar.setVisibility(View.GONE);
                    }
                }, new ImageLoadingProgressListener() {
                    @Override
                    public void onProgressUpdate(String imageUri,
                            View view, int current, int total) {
                        holder.progressBar.setProgress(Math.round(100.0f
                                * current / total));
                    }
                });

        return view;
    }

}

static class ViewHolder {
    ImageView imageView;
    ProgressBar progressBar;
}
}
公共类GridGallery扩展活动{
显示图像选项;
网格视图列表视图;
String[]imageUrls=新字符串[]{“drawable://”+R.drawable.img1,
“可绘制:/”+R.drawable.img2,“可绘制:/”+R.drawable.img3,
“可绘制:/”+R.drawable.img4,“可绘制:/”+R.drawable.img5,
“可拉伸:/”+R.drawable.img6,“可拉伸:/”+R.drawable.img7,
“可绘制:/”+R.drawable.img8,“可绘制:/”+R.drawable.img9,
“drawable://”+R.drawable.img10,“drawable://”+R.drawable.img11};
公共静态最终整数指数=1;
@凌驾
创建时的公共void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
ImageLoaderConfiguration配置=新建ImageLoaderConfiguration.Builder(
这个);
ImageLoader.getInstance().init(配置);
选项=新建DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ic_存根)
.showImageForEmptyUri(R.drawable.ic_empty)
.showImageOnFail(R.drawable.ic_错误)。cacheInMemory(真)
.cacheOnDisk(true).考虑的XIFParams(true)
.bitmapConfig(Bitmap.Config.RGB_565).build();
}
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根视图=充气机。充气(R.layout.image\u网格,容器,false);
listView=(GridView)rootView.findviewbyd(R.id.grid);
((GridView)listView).setAdapter(新的ImageAdapter());
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
StartImagePageActivity(位置);
}
});
返回rootView;
}
受保护的void startimagepageActivity(int位置){
//Intent Intent=new Intent(getActivity(),SimpleImageActivity.class);
//intent.putExtra(Constants.Extra.FRAGMENT_索引,
//ImagePagerFragment.INDEX);
//intent.putExtra(常量.Extra.IMAGE_位置,位置);
//星触觉(意向);
}
公共类ImageAdapter扩展了BaseAdapter{
私人充气机;
ImageAdapter(){
充气器=LayoutInflater.from(getApplicationContext());
}
@凌驾
public int getCount(){
返回imageurl.length;
}
@凌驾
公共对象getItem(int位置){
返回null;
}
@凌驾
公共长getItemId(int位置){
返回位置;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
最终持票人;
视图=转换视图;
如果(视图==null){
视图=充气机
.充气(R.layout.image\u grid\u项目,父项,false);
holder=新的ViewHolder();
断言视图!=null;
holder.imageView=(imageView)view.findViewById(R.id.image);
holder.progressBar=(progressBar)视图
.findviewbyd(R.id.progress);
视图.设置标签(支架);
}否则{
holder=(ViewHolder)view.getTag();
}
ImageLoader.getInstance().displayImage(imageUrls[position],
holder.imageView,选项,
新的SimpleImageLoadingListener(){
@凌驾
public void onLoadingStarted(字符串imageUri,视图){
holder.progressBar.setProgress(0);
holder.progressBar.setVisibility(视图可见);
}
@凌驾
public void onload失败(字符串imageUri、视图、,
失效原因(失效原因){
holder.progressBar.setVisibility(View.GONE);
}
@凌驾
public void onLoadingComplete(字符串imageUri,
视图,位图加载(图像){
holder.progressBar.setVisibility(View.GONE);
}
},新建ImageLoadingProgressListener(){
@凌驾
public void onProgressUpdate(字符串imageUri,
视图(当前整数、总计整数){
holder.progressBar.setProgress(数学圆整(100.0f
*现时(总数);;
}
});
返回视图;
}
}
静态类视窗夹{
图像视图图像视图;
ProgressBar ProgressBar;
}
}
显示

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.imagetester"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="21" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".GridGallery"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>


这是因为您忘记将
onCreateView
中的项目添加到网格视图的适配器中。您必须在设置gridview的适配器后手动添加项目。

您能告诉我哪些项目吗?我将其与示例项目进行了比较,其代码相同。没有什么diff@ClintonDsouza您应该再次检查,“imageUrls”未被使用,事实上,你的适配器是空的,因为你没有在里面放任何东西,所以listview是空的。