package com.honghe.MyLockers.activity; import java.io.File; import java.util.ArrayList; import android.app.AlertDialog; import android.app.Dialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.provider.MediaStore; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.GridView; import android.widget.ViewFlipper; import com.base.utils.T; import com.honghe.R; import com.honghe.MyLockers.TitleActivity; import com.honghe.MyLockers.adapter.ClassificationAdapter; import com.honghe.MyLockers.adapter.LockersAdapter; import com.honghe.MyLockers.bean.ClassificationBean; import com.honghe.MyLockers.bean.LockersBean; import com.honghe.MyLockers.bean.LockersDetailBean; import com.honghe.MyLockers.db.DBUtil; import com.honghe.MyLockers.util.ConsUtil; public class MainActivity extends TitleActivity implements OnClickListener { private ViewFlipper fliper_lockers_classification; private GridView gridView_lockers; private GridView gridView_classification; private ClassificationAdapter classificationAdapter; private LockersAdapter lockersAdapter; private ArrayList<LockersBean> lockerBeans = new ArrayList<LockersBean>(); private ArrayList<ClassificationBean> classificationBeans = new ArrayList<ClassificationBean>(); private Dialog dialog; private AlertDialog alertDialog; private String lockersId; @Override public void onClick(View v) { switch (v.getId()) { case R.id.rv_title_right: if (tvRight.getText().toString().trim().equals("切换到分类视图")) { tvRight.setText("切换到橱柜视图"); fliper_lockers_classification.showNext(); } else { tvRight.setText("切换到分类视图"); fliper_lockers_classification.showPrevious(); } break; default: break; } } @Override protected void initView() { rvLeft.setVisibility(View.GONE); setTitle("我的储物柜"); tvRight.setText("切换到分类视图"); addView(View.inflate(this, R.layout.activity_main, null)); fliper_lockers_classification = (ViewFlipper) findViewById(R.id.fliper_lockers_classification); gridView_lockers = (GridView) findViewById(R.id.gridView_lockers); gridView_classification = (GridView) findViewById(R.id.gridView_classification); Builder builder = new AlertDialog.Builder(this); builder.setTitle("请选择要进行的操作"); builder.setItems(R.array.edit, new DialogClickListener()); dialog = builder.create(); Builder alertBuilder = new AlertDialog.Builder(this); alertBuilder.setTitle("确定要删除?"); alertBuilder.setMessage("删除储物柜会连储物柜中的物品一同删除!"); alertBuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { delLockers(); alertDialog.dismiss(); } }); alertBuilder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { alertDialog.dismiss(); } }); alertDialog = alertBuilder.create(); } @Override protected void initData() { classificationAdapter = new ClassificationAdapter(this); gridView_classification.setAdapter(classificationAdapter); lockersAdapter = new LockersAdapter(this); gridView_lockers.setAdapter(lockersAdapter); classificationAdapter.setDatas(classificationBeans); lockersAdapter.setDatas(lockerBeans); getLockers(); } private void getLockers() { lockerBeans.clear(); lockerBeans.addAll(DBUtil.getAllLockersBean(this)); lockersAdapter.setDatas(lockerBeans); } @Override protected void setListener() { gridView_lockers.setOnItemClickListener(new LockersclickListener()); gridView_lockers .setOnItemLongClickListener(new LockersLongClickListener()); gridView_classification .setOnItemClickListener(new ClassificationclickListener()); rvRight.setOnClickListener(this); } /** * 储物柜列表点击监听 * * @author wanghonghe * */ private class LockersclickListener implements OnItemClickListener { Intent intent = null; @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (lockerBeans != null && position < lockerBeans.size()) { // 打开对应的储物柜 intent = new Intent(MainActivity.this, LockersDetailActivity.class); intent.putExtra("id", lockerBeans.get(position).lockersid); } else { // 添加储物柜 intent = new Intent(MainActivity.this, AddLockersActivity.class); } startActivityForResult(intent, 1); } } /** * 分类列表点击监听 * * @author wanghonghe * */ private class ClassificationclickListener implements OnItemClickListener { Intent intent = null; @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (classificationBeans != null && position < classificationBeans.size()) { // 打开对应的分类 intent = new Intent(MainActivity.this, ClassificationDetailActivity.class); intent.putExtra("id", classificationBeans.get(position).Id); } else { // 添加分类 intent = new Intent(MainActivity.this, AddClassificationActivity.class); } startActivityForResult(intent, 1); } } private class LockersLongClickListener implements OnItemLongClickListener { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { if (lockerBeans != null && position < lockerBeans.size()) { // 打开对应的储物柜 lockersId = lockerBeans.get(position).lockersid; dialog.show(); } return true; } } private class DialogClickListener implements DialogInterface.OnClickListener { Intent intent; @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case 0:// 编辑 intent = new Intent(MainActivity.this, AddLockersActivity.class); intent.putExtra("lockersId", lockersId); startActivityForResult(intent, 1); dialog.dismiss(); break; case 1:// 删除 ArrayList<LockersDetailBean> beans = DBUtil .getAllLockersDetailBean(MainActivity.this, lockersId); int count = beans.size(); if (count > 0) { alertDialog.setMessage("您的储物柜中还有" + count + "件物品,删除储物柜会将物品一同删除,确定删除?"); alertDialog.show(); } else { delLockers(); } dialog.dismiss(); break; default: break; } } } /** * 删除储物柜 */ private void delLockers() { int isSucess = DBUtil.delLockersBean(MainActivity.this, lockersId); if (isSucess == 0) { T.showShort(MainActivity.this, "删除失败"); } else { T.showShort(MainActivity.this, "删除成功"); getLockers(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 1) { if (resultCode == RESULT_OK) { getLockers(); } } } }