Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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/1/database/8.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
Android 带动态文本视图的gridview&;可绘制图像_Android_Gridview - Fatal编程技术网

Android 带动态文本视图的gridview&;可绘制图像

Android 带动态文本视图的gridview&;可绘制图像,android,gridview,Android,Gridview,我正在开发一个Android应用程序,它可以显示图像的gridview显示&上面有textview。到目前为止,我使用drawable的gridview显示图像。我从arraylist变量中的json获取文本值 代码i用于仅显示图像: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_fr

我正在开发一个Android应用程序,它可以显示图像的gridview显示&上面有textview。到目前为止,我使用drawable的gridview显示图像。我从arraylist变量中的json获取文本值

代码i用于仅显示图像:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_front_page);


    GridView grid=(GridView)findViewById(R.id.maincatgrid);

     grid.setAdapter(new ImageAdapter(this));
     grid.setColumnWidth( 170 );
     grid.setVerticalSpacing(20 );
     grid.setStretchMode( GridView.STRETCH_COLUMN_WIDTH );
     grid.setNumColumns( GridView.AUTO_FIT );


}

       public class ImageAdapter extends BaseAdapter {

    private Context mContext;


    public ImageAdapter(Context c){
        mContext = c;
    }

      public Integer[] mThumbIds = {
                R.drawable.image1, 
                R.drawable.image2,
                R.drawable.image3,
                R.drawable.image4, 
                R.drawable.image5,
                R.drawable.image6, 
                R.drawable.image7, 
                R.drawable.image8, 


        };

    public int getCount() {
        // TODO Auto-generated method stub
        return mThumbIds.length;
    }

    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return mThumbIds[position];
    }

    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View MyView = convertView;
        // TODO Auto-generated method stub

        ImageView imageView;
        if (convertView == null) {

            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(170, 150));
            imageView.setAdjustViewBounds(false);
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);



        } else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);

        return imageView;
    }



}
 }
我正在从包含15个值的异步任务中获取textview值。如果没有来自mThumbIds的图像(即textvalues>图像),则应将我的默认图像放置为R.drawable.no_image。是否有任何方法可以实现此目标,请建议我。提前感谢。

可以本地或从服务器加载图像

它基于惰性列表(工作原理相同)。但它有很多其他配置。我更喜欢使用通用图像加载器,因为它为您提供了更多的配置选项。如果downlaod失败,您可以显示错误图像。可以显示圆角的图像。可以缓存在磁盘或内存中。可以压缩图像

在自定义适配器构造函数中

File cacheDir = StorageUtils.getOwnCacheDirectory(activity context, "your folder");//for caching

// Get singletone instance of ImageLoader
imageLoader = ImageLoader.getInstance();
// Create configuration for ImageLoader (all options are optional)
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(a)
  // You can pass your own memory cache implementation
 .discCache(new UnlimitedDiscCache(cacheDir)) // You can pass your own disc cache implementation
 .discCacheFileNameGenerator(new HashCodeFileNameGenerator())
 .enableLogging()
 .build();
 // Initialize ImageLoader with created configuration. Do it once.
 imageLoader.init(config);
 options = new DisplayImageOptions.Builder()
 .showStubImage(R.drawable.stub_id)//display stub image untik image is loaded
 .cacheInMemory()
 .cacheOnDisc()
 .displayer(new RoundedBitmapDisplayer(20))
 .build();
在getView()中

您可以配置其他选项以满足您的需要

随着懒惰加载/通用图像加载器,您可以查看平稳滚动和性能的持有人

可以本地或从服务器加载图像

它基于惰性列表(工作原理相同)。但它有很多其他配置。我更喜欢使用通用图像加载器,因为它为您提供了更多的配置选项。如果downlaod失败,您可以显示错误图像。可以显示圆角的图像。可以缓存在磁盘或内存中。可以压缩图像

在自定义适配器构造函数中

File cacheDir = StorageUtils.getOwnCacheDirectory(activity context, "your folder");//for caching

// Get singletone instance of ImageLoader
imageLoader = ImageLoader.getInstance();
// Create configuration for ImageLoader (all options are optional)
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(a)
  // You can pass your own memory cache implementation
 .discCache(new UnlimitedDiscCache(cacheDir)) // You can pass your own disc cache implementation
 .discCacheFileNameGenerator(new HashCodeFileNameGenerator())
 .enableLogging()
 .build();
 // Initialize ImageLoader with created configuration. Do it once.
 imageLoader.init(config);
 options = new DisplayImageOptions.Builder()
 .showStubImage(R.drawable.stub_id)//display stub image untik image is loaded
 .cacheInMemory()
 .cacheOnDisc()
 .displayer(new RoundedBitmapDisplayer(20))
 .build();
在getView()中

您可以配置其他选项以满足您的需要


随着懒惰加载/通用图像加载器,您可以查看平稳滚动和性能的持有人

使用通用图像加载器。谢谢。你能给我提供链接吗?使用通用图像加载器。谢谢。你能给我提供链接吗??