У меня есть GridView в приложении для Android. Я хочу перерисовать все изображения, когда я нажимаю кнопку BACK. Я не знаю, как это получить?Как перерисовать растровое изображение с адаптером GridView?
gridview.setAdapter(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;
}
При нажатии на эту кнопку, я иду к другому фрагменту:
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();
. Но когда я получаю фрагмент избранных изображений, он слишком медленный и не отвечает gridview.setOnItemClickListener(). Я думаю, из-за того, что изображение не переработано, когда я перехожу к другому фрагменту.
Вы хотите повторно использовать изображения в своем адаптере, когда находитесь в предыдущей деятельности? –
Нет, мне не нужны эти изображения. –
Ну ... если нет, тогда вы можете использовать 'Bitmap.recycle()' .. цикл в свой список и называть его до onDestroyed() –