首页 文章

如何从片段中检索gridview中的图像?

提问于
浏览
2

我只是从drawable中检索图像并使用基本适配器,但片段不显示任何图像 . 以下是我的代码......有任何问题或逻辑错误......有人能告诉我!!!这是片段代码..

public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){//为此片段扩展布局View view = inflater.inflate(R.layout.fragment_all_question,container,false); GridView gridview =(GridView)view.findViewById(R.id.gridview); imageAdapter = new ImageAdapter(mContext); gridview.setAdapter(imageAdapter);

gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(getActivity(), "" + position,
                    Toast.LENGTH_SHORT).show();
        }
    });

    return view;
}

这是适配器代码

公共类ImageAdapter扩展BaseAdapter {

private Context mContext;

public ImageAdapter(Context mContext) {
    this.mContext = mContext;
}



@Override
public int getCount() {
    return mThumbIds.length;
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView;
    if (convertView == null) {
        // if it's not recycled, initialize some attributes

        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setPadding(8, 8, 8, 8);
    } else {
        imageView = (ImageView) convertView;
    }

    imageView.setImageResource(mThumbIds[position]);
    return imageView;
}
// references to our images
private Integer[] mThumbIds = {
        R.drawable.sample_2, R.drawable.sample_3,
        R.drawable.sample_4, R.drawable.sample_5,
        R.drawable.sample_6, R.drawable.sample_7,
        R.drawable.sample_0, R.drawable.sample_1,
        R.drawable.sample_2, R.drawable.sample_3,
        R.drawable.sample_4, R.drawable.sample_5,
        R.drawable.sample_6, R.drawable.sample_7,
        R.drawable.sample_0, R.drawable.sample_1,
        R.drawable.sample_2, R.drawable.sample_3,
        R.drawable.sample_4, R.drawable.sample_5,
        R.drawable.sample_6, R.drawable.sample_7
};

}

1 回答

  • 0

    尝试将适配器中的getItem(..)方法更改为此方法并查看其进展情况 .

    @Override
        public Object getItem(int position) {
            return position;
        }
    

相关问题