gpt4 book ai didi

android - 如何使用 GridView 适配器回收位图?

转载 作者:行者123 更新时间:2023-11-30 02:18:11 25 4
gpt4 key购买 nike

我的 Android 应用程序中有一个 GridView。我想在单击 BACK 按钮时回收所有图像。我不知道怎么得到这个?

gridview.setAdapter(adapter);

这是我在 Adapter 中的 getView():

public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_addimage_grid,
parent, false);
holder = new ViewHolder();
holder.image = (ImageView) convertView
.findViewById(R.id.item_grida_image);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

if (position == Bimp.SelectBitmap.size()) {
holder.image.setImageBitmap(BitmapFactory.decodeResource(
getResources(), R.drawable.pic_add));
if (position == 3) {
holder.image.setVisibility(View.GONE);
}
} else {
holder.image.setImageBitmap(Bimp.SelectBitmap.get(position)
.getBitmap());
}

return convertView;
}

public class ViewHolder {
public ImageView image;
}

当我点击这个按钮时,我转到另一个 fragment :

case R.id.title_btn_left:           
Bimp.SelectBitmap.clear();
FragmentTransaction ft = getFragmentManager().beginTransaction();
SearchFragment searchFragment = new SearchFragment();
ft.replace(R.id.fl_content, searchFragment);
ft.commit();
break;

现在,当我点击后退按钮时,我设置了 Bimp.SelectBitmap.clear();。但是当我进入选择图像的 fragment 时,它太慢并且不响应 gridview.setOnItemClickListener()。我想是因为当我转到另一个 fragment 时图像没有回收。

最佳答案

setRecyclerListener(...) 设置为您的 GridView:

gridview.setRecyclerListener(new RecyclerListener() {
@Override
public void onMovedToScrapHeap(View view) {
//get Bitmap by 'view' and release it here
}
});

希望对您有所帮助!

关于android - 如何使用 GridView 适配器回收位图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com