将同一类的Image数组中的Image设置为Gridview



你好,我想将图像数组中的图像保存到同一类中的网格视图中。代码如下所示:-

  package com.cellatlas.fragment;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import com.cellatlas.R;
public class QuizPageAfterThePlayClick extends Fragment {
    GridView gameGrid;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub

        final Integer[] imageslist1 = { R.drawable.bandneutrophil1,
                R.drawable.basophil1, R.drawable.blast1,
                R.drawable.eosinophil1, R.drawable.hairycell1,
                R.drawable.lymphocyte1, R.drawable.metamyelocyte1,
                R.drawable.monocyte1, R.drawable.myelocyte1 };

        View v = inflater.inflate(R.layout.quiz_page_after_the_play_clicked,
                container, false);
        ImageView image = new ImageView(getActivity());
        gameGrid = (GridView) v.findViewById(R.id.gridViewOfGame);
        ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(getActivity(), android.R.layout.simple_list_item_1,image.setIma);
        gameGrid.setAdapter(adapter);
        return v;
    }
}

我如何完成此任务?

您必须使用自定义适配器。

 public class ImageAdapter extends BaseAdapter {
        private Context context;
        private final int[] mobileValues;
        public ImageAdapter(Context context, int[] mobileValues) {
            this.context = context;
            this.mobileValues = mobileValues;
        }
        public View getView(int position, View convertView, ViewGroup parent) {
            LayoutInflater inflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View gridView;
            if (convertView == null) {
                gridView = new View(context);
                gridView = inflater
                        .inflate(R.layout.gridview_home_layout, null);
                ImageView imageView = (ImageView) gridView
                        .findViewById(R.id.grid_item_image);
                int mobileres = mobileValues[position];
                imageView.setImageResource(mobileres);
            } else {
                gridView = (View) convertView;
            }
            return gridView;
        }
        @Override
        public int getCount() {
            return mobileValues.length;
        }
        @Override
        public Object getItem(int position) {
            return null;
        }
        @Override
        public long getItemId(int position) {
            return 0;
        }
}

然后你只需要在GridView 上应用它

 ImageAdapter adapter = new ImageAdapter(this, home_res);
 gameGrid.setAdapter(adapter);

此致无

最新更新