gridview通过小图显示大图内存溢出,哪位大神帮忙优化一下,新手啊~

骑着下毛驴 骑着下毛驴 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
XcActivity.java

package com.shi.sun.love;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class XcActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.xcxml);
GridView gridView=(GridView)findViewById(R.id.gridview);
gridView.setAdapter(new ImageAdapter(this));
//单击GridView元素的响应
gridView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
//弹出单击的GridView元素的位置
Intent intent =new Intent(XcActivity.this,IvActivity.class);
intent.putExtra("position", position);
startActivity(intent);
}
});
}
private class ImageAdapter extends BaseAdapter{
private Context mContext;

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

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

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

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {
//定义一个ImageView,显示在GridView里
ImageView imageView;
if(convertView==null){
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;
}



}
//展示图片
private Integer[] mThumbIds = {
R.drawable.a1, R.drawable.a2,
R.drawable.a3, R.drawable.a4,
R.drawable.a5, R.drawable.a6,
R.drawable.a7, R.drawable.a8,
R.drawable.a9, R.drawable.a10,
R.drawable.background, R.drawable.a12,
R.drawable.a13, R.drawable.a14,
R.drawable.a15, R.drawable.a18,
R.drawable.a17,R.drawable.a19,
R.drawable.a11,R.drawable.a20,
};
}


IvActivity.java

package com.shi.sun.love;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ImageView;

public class IvActivity extends Activity {
private ImageView imageView;
private Integer[] mThumbIds = {
R.drawable.a1, R.drawable.a2,
R.drawable.a3, R.drawable.a4,
R.drawable.a5, R.drawable.a6,
R.drawable.a7, R.drawable.a8,
R.drawable.a9, R.drawable.a10,
R.drawable.background, R.drawable.a12,
R.drawable.a13, R.drawable.a14,
R.drawable.a15, R.drawable.a18,
R.drawable.a17,R.drawable.a19,
R.drawable.a11,R.drawable.a20,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.imageview);
imageView = (ImageView)findViewById(R.id.imageView);
Intent intent = getIntent();
Bundle bundle=intent.getExtras();
int positon=bundle.getInt("position");
int imageId = intent.getIntExtra("id",mThumbIds[positon]);
imageView.setImageResource(imageId);
}
}
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
骑着下毛驴
Java 51,407 成员 86,130 内容