package com.linju.android_photoUtils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import roboguice.inject.InjectExtra;
import roboguice.inject.InjectView;
import com.linju.android_photoUtils.ImageGridAdapter.TextCallback;
import com.linju.android_property.base.BaseActivity;
import com.linju.android_property.servicemanager.PostAdd;
import com.linju.android_property.utils.FileUtils;
import com.linju.android_property.viewutils.WPTextView;
import com.linju.android_property2.R;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.GridView;
import android.widget.Toast;
public class ImageGridActivity extends BaseActivity {
public static final String EXTRA_IMAGE_LIST = "imagelist";
public static final String EXTRA_TITLE = "imagetitle";
@InjectExtra(value = EXTRA_TITLE,optional = true)
private String title;
// ArrayList<Entity> dataList;
List<ImageItem> dataList;
@InjectView(R.id.gridview)
GridView gridView;
ImageGridAdapter adapter;
AlbumHelper helper;
@InjectView(R.id.back)
Button back;
@InjectView(R.id.title)
WPTextView titlebar;
@InjectView(R.id.edit_or_add)
Button editOrAdd;
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
Toast.makeText(ImageGridActivity.this, "最多选择"+Bimp.MAXSIZE+"张图片", 400).show();
break;
default:
break;
}
}
};
@SuppressWarnings("unchecked")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_grid);
titlebar.setText(title);
editOrAdd.setVisibility(View.VISIBLE);
helper = AlbumHelper.getHelper();
helper.init(getApplicationContext());
dataList = (List<ImageItem>) getIntent().getSerializableExtra(
EXTRA_IMAGE_LIST);
initView();
editOrAdd.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
ArrayList<String> list = new ArrayList<String>();
Collection<String> c = adapter.map.values();
Iterator<String> it = c.iterator();
for (; it.hasNext();) {
list.add(it.next());
}
if (Bimp.act_bool) {
Intent intent = new Intent(ImageGridActivity.this,PostAdd.class);
Bundle bundle = new Bundle();
bundle.putBoolean("pubsort", true);
intent.putExtras(bundle);
startActivity(intent);
Bimp.act_bool = false;
}
for (int i = 0; i < list.size(); i++) {
if (Bimp.drr.size() < Bimp.MAXSIZE) {
Bimp.drr.add(list.get(i));
}
}
finish();
}
});
}
private void initView() {
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onBackPressed();
// Bimp.bmp.clear();
// Bimp.drr.clear();
// Bimp.max = 0;
// FileUtils.deleteDir();
//
// if (Bimp.act_bool) {
//
//
// Intent intent = new Intent(ImageGridActivity.this,PostAdd.class);
// Bundle bundle = new Bundle();
// bundle.putBoolean("pubsort", true);
// intent.putExtras(bundle);
// startActivity(intent);
// Bimp.act_bool=false;
// }
//
// finish();
}
});
gridView.setSelector(new ColorDrawable(Color.TRANSPARENT));
adapter = new ImageGridAdapter(ImageGridActivity.this, dataList,
mHandler);
gridView.setAdapter(adapter);
adapter.setTextCallback(new TextCallback() {
public void onListen(int count) {
if (count==0) {
editOrAdd.setText("完成");
}else {
editOrAdd.setText("完成" + "(" + count + ")");
}
}
});
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// if(dataList.get(position).isSelected()){
// dataList.get(position).setSelected(false);
// }else{
// dataList.get(position).setSelected(true);
// }
adapter.notifyDataSetChanged();
}
});
}
}