充电桩app代码

AlbumPrivateActivity.java 8.6KB

    package com.electric.chargingpile.activity; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.GridView; import android.widget.TextView; import android.widget.Toast; import android.widget.ToggleButton; import com.electric.chargingpile.R; import com.electric.chargingpile.adapter.AlbumGridViewAdapter; import com.electric.chargingpile.util.AlbumHelper; import com.electric.chargingpile.util.Bimp; import com.electric.chargingpile.util.ImageItem; import com.electric.chargingpile.util.PublicWay; import com.electric.chargingpile.util.Res; import java.util.ArrayList; public class AlbumPrivateActivity extends Activity { //显示手机里的所有图片的列表控件 private GridView gridView; //当手机里没有图片时,提示用户没有图片的控件 private TextView tv; //gridView的adapter private AlbumGridViewAdapter gridImageAdapter; //完成按钮 private TextView okButton; // 返回按钮 private TextView back; // 取消按钮 private TextView cancel; private Intent intent; // 预览按钮 private TextView preview; private Context mContext; private ArrayList<ImageItem> dataList; private AlbumHelper helper; public static ArrayList<ImageItem> contentList; public static Bitmap bitmap; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(Res.getLayoutID("plugin_camera_album")); PublicWay.activityList.add(this); mContext = this; //注册一个广播,这个广播主要是用于在GalleryActivity进行预览时,防止当所有图片都删除完后,再回到该页面时被取消选中的图片仍处于选中状态 IntentFilter filter = new IntentFilter("data.broadcast.action"); registerReceiver(broadcastReceiver, filter); bitmap = BitmapFactory.decodeResource(getResources(), Res.getDrawableID("plugin_camera_no_pictures")); init(); initListener(); //这个函数主要用来控制预览和完成按钮的状态 isShowOkBt(); } BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //mContext.unregisterReceiver(this); // TODO Auto-generated method stub gridImageAdapter.notifyDataSetChanged(); } }; // 预览按钮的监听 private class PreviewListener implements OnClickListener { public void onClick(View v) { if (Bimp.tempSelectBitmap.size() > 0) { intent.putExtra("position", "1"); intent.setClass(AlbumPrivateActivity.this, GalleryPrivateActivity.class); startActivity(intent); } } } // 完成按钮的监听 private class AlbumSendListener implements OnClickListener { public void onClick(View v) { overridePendingTransition(R.anim.activity_translate_in, R.anim.activity_translate_out); finish(); } } // 返回按钮监听 private class BackListener implements OnClickListener { public void onClick(View v) { intent.setClass(AlbumPrivateActivity.this, ImageFile.class); startActivity(intent); } } // 取消按钮的监听 private class CancelListener implements OnClickListener { public void onClick(View v) { // Bimp.tempSelectBitmap.clear(); // intent.setClass(mContext, ShareTwoActivity.class); // startActivity(intent); AlbumHelper.bucketList.clear(); finish(); } } // 初始化,给一些对象赋值 private void init() { helper = AlbumHelper.getHelper(); helper.init(getApplicationContext()); contentList = (ArrayList<ImageItem>) helper.getImagesBucketList(true); back = (TextView) findViewById(Res.getWidgetID("back")); cancel = (TextView) findViewById(Res.getWidgetID("cancel")); cancel.setOnClickListener(new CancelListener()); back.setOnClickListener(new BackListener()); preview = (TextView) findViewById(Res.getWidgetID("preview")); preview.setOnClickListener(new PreviewListener()); intent = getIntent(); Bundle bundle = intent.getExtras(); gridView = (GridView) findViewById(Res.getWidgetID("myGrid")); gridImageAdapter = new AlbumGridViewAdapter(this, contentList, Bimp.tempSelectBitmap); gridView.setAdapter(gridImageAdapter); tv = (TextView) findViewById(Res.getWidgetID("myText")); gridView.setEmptyView(tv); okButton = (TextView) findViewById(Res.getWidgetID("ok_button")); okButton.setText(Res.getString("finish") + "(" + Bimp.tempSelectBitmap.size() + "/" + PublicWay.num + ")"); } private void initListener() { gridImageAdapter .setOnItemClickListener(new AlbumGridViewAdapter.OnItemClickListener() { @Override public void onItemClick(final ToggleButton toggleButton, int position, boolean isChecked, Button chooseBt) { if (Bimp.tempSelectBitmap.size() >= PublicWay.num) { toggleButton.setChecked(false); chooseBt.setVisibility(View.GONE); if (!removeOneData(contentList.get(position))) { Toast.makeText(AlbumPrivateActivity.this, Res.getString("only_choose_num"), Toast.LENGTH_SHORT).show(); } return; } if (isChecked) { chooseBt.setVisibility(View.VISIBLE); Bimp.tempSelectBitmap.add(contentList.get(position)); okButton.setText(Res.getString("finish") + "(" + Bimp.tempSelectBitmap.size() + "/" + PublicWay.num + ")"); } else { Bimp.tempSelectBitmap.remove(contentList.get(position)); chooseBt.setVisibility(View.GONE); okButton.setText(Res.getString("finish") + "(" + Bimp.tempSelectBitmap.size() + "/" + PublicWay.num + ")"); } isShowOkBt(); } }); okButton.setOnClickListener(new AlbumSendListener()); } private boolean removeOneData(ImageItem imageItem) { if (Bimp.tempSelectBitmap.contains(imageItem)) { Bimp.tempSelectBitmap.remove(imageItem); okButton.setText(Res.getString("finish") + "(" + Bimp.tempSelectBitmap.size() + "/" + PublicWay.num + ")"); return true; } return false; } public void isShowOkBt() { if (Bimp.tempSelectBitmap.size() > 0) { okButton.setText(Res.getString("finish") + "(" + Bimp.tempSelectBitmap.size() + "/" + PublicWay.num + ")"); preview.setPressed(true); okButton.setPressed(true); preview.setClickable(true); okButton.setClickable(true); okButton.setTextColor(getResources().getColor(R.color.lvse)); preview.setTextColor(getResources().getColor(R.color.lvse)); } else { okButton.setText(Res.getString("finish") + "(" + Bimp.tempSelectBitmap.size() + "/" + PublicWay.num + ")"); preview.setPressed(false); preview.setClickable(false); okButton.setPressed(false); okButton.setClickable(false); okButton.setTextColor(Color.parseColor("#E1E0DE")); preview.setTextColor(Color.parseColor("#E1E0DE")); } } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { finish(); } return false; } @Override protected void onRestart() { isShowOkBt(); super.onRestart(); } // protected void onDestroy() { // super.onDestroy(); // this.unregisterReceiver(broadcastReceiver); // } @Override protected void onResume() { super.onResume(); } }