package com.mfh.comna.utils.sdimage; import android.app.ActionBar; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.GridView; import android.widget.LinearLayout; import com.mfh.comna.R; import com.mfh.comna.utils.DensityUtil; import com.mfh.comna.utils.FullScreenActivity; import com.mfh.comna.view.BaseComnActivity; import com.mfh.comna.view.img.FineImgView; import java.io.File; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by Administrator on 2014/10/18. */ public class EditImageActivity extends BaseComnActivity { private GridView addedImageslayout = null; private MyAdapter adapter; private List<Image> images; private List<String> imagePaths; @Override protected void initActionBar(ActionBar actionBar) { super.initActionBar(actionBar); actionBar.setIcon(R.drawable.white_logo); actionBar.setTitle("编辑图片"); actionBar.setCustomView(R.layout.delete_image); actionBar.setDisplayShowCustomEnabled(true); LinearLayout linearLayout = (LinearLayout) actionBar.getCustomView().findViewById(R.id.ll_delete); linearLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putSerializable(GridAdapter.DATA_IMAGE, (Serializable) imagePaths); intent.putExtras(bundle); setResult(2,intent); finish(); } }); } @Override public int getLayoutId() { return R.layout.activity_edit_image; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addedImageslayout = (GridView) findViewById(R.id.gv); images = (List<Image>) getIntent().getExtras().get(GridAdapter.DATA_IMAGE); imagePaths = new ArrayList<String>(); adapter = new MyAdapter(this, images, imagePaths); addedImageslayout.setAdapter(adapter); } private class MyAdapter extends GridAdapter{ public MyAdapter(Activity context, List<Image> images, List<String> checkImages) { super(context, images, checkImages); } @Override public int getItemViewType(int position) { return 1; } @Override public int getViewTypeCount() { return 1; } @Override public int getCount() { return images.size(); } @Override protected void fillData(final int position,final ViewHolder holder) { // cacheUtil.display(holder.image,images.get(position).getPath()); holder.image.setFao(FineImgView.getHeadImgFao()); holder.image.setNeedSample(true); holder.image.setMaxWidth(width/9); holder.image.setSrc(images.get(position).getPath()); holder.imageCb.setVisibility(View.VISIBLE); holder.imageCb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { images.get(position).setCheck(isChecked); if (isChecked) { holder.imageCb.setBackgroundResource(R.drawable.checkbox_select); if (!checkImages.contains(images.get(position).getPath())) checkImages.add(images.get(position).getPath()); } else { holder.imageCb.setBackgroundResource(R.drawable.checkbox_normal); if (checkImages.contains(images.get(position).getPath())) checkImages.remove(images.get(position).getPath()); } } }); holder.imageCb.setChecked(images.get(position).isCheck()); holder.image.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(EditImageActivity.this, ZoomImageActivity.class); intent.putExtra("imagePath", images.get(position).getPath()); startActivity(intent); } }); } } }