package com.withiter.quhao.activity; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Map; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer; import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener; import com.withiter.quhao.R; import com.withiter.quhao.util.tool.PhoneTool; import com.withiter.quhao.util.tool.ProgressDialogUtil; public abstract class QuhaoBaseActivity extends QuhaoActivity implements OnClickListener, OnTouchListener { private final String TAG = QuhaoBaseActivity.class.getName(); protected boolean isClick = false; protected String action = ""; protected final int UNLOCK_CLICK = 1000; protected ProgressDialogUtil progressDialogUtil; protected Button btnBack; // protected LinearLayout btnBackLayout; protected static final int FIRST_REQUEST_CODE = 1; // 网络是否可用 protected static boolean networkOK = false; protected static String uid = ""; protected static boolean autoLogin = false; protected ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener(); protected Handler unlockHandler = new Handler() { public void handleMessage(Message msg) { if (msg.what == UNLOCK_CLICK) { isClick = false; } } }; protected Handler toastHandler = new Handler() { public void handleMessage(Message msg) { if (msg.what == UNLOCK_CLICK) { Map<String, Object> toastParams = (Map<String, Object>) msg.obj; // Toast.makeText((Context)toastParams.get("activity"), toastParams.get("text"), ); Toast.makeText((Context)toastParams.get("activity"), Integer.parseInt(String.valueOf(toastParams.get("text"))), Integer.parseInt(String.valueOf(toastParams.get("toastLength")))).show(); } } }; protected Handler toastStringHandler = new Handler() { public void handleMessage(Message msg) { if (msg.what == UNLOCK_CLICK) { Map<String, Object> toastParams = (Map<String, Object>) msg.obj; // Toast.makeText((Context)toastParams.get("activity"), toastParams.get("text"), ); Toast.makeText((Context)toastParams.get("activity"), (String) toastParams.get("text"), Integer.parseInt(String.valueOf(toastParams.get("toastLength")))).show(); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); networkOK = PhoneTool.isNetworkAvailable(this); btnBack = (Button) findViewById(R.id.back_btn); // btnBackLayout = (LinearLayout) findViewById(R.id.back_btn_layout); } protected OnClickListener clickBackBtn(Activity activity) { OnClickListener clickListener = new OnClickListener() { @Override public void onClick(View v) { btnBack.performClick(); // btnBack.requestFocus(); // btnBack.callOnClick(); } }; return clickListener; } /** * 商家列表按钮绑定事件,点击进入商家列表页面 * * @param activity * 需要跳转到的页面 * @return 绑定事件 */ protected OnClickListener goBack(final Activity activity, final Object... params) { OnClickListener clickListener = new OnClickListener() { @Override public void onClick(View v) { if (params != null && params.length > 0) { Log.i(TAG, "params[0] is " + params[0]); if (params[0].equals(MerchantsSearchActivity.class.getName())) { Log.i(TAG, "backClicked: " + MerchantsSearchActivity.backClicked); MerchantsSearchActivity.backClicked = true; } if (params[0].equals(MerchantListActivity.class.getName())) { Log.i(TAG, "backClicked: " + MerchantListActivity.backClicked); MerchantListActivity.backClicked = true; } if (params[0].equals(CreditCostListActivity.class.getName())) { Log.i(TAG, "backClicked: " + CreditCostListActivity.backClicked); CreditCostListActivity.backClicked = true; } if (params[0].equals(AboutUsActivity.class.getName())) { Log.i(TAG, "backClicked: " + AboutUsActivity.backClicked); AboutUsActivity.backClicked = true; } if (params[0].equals(OpinionActivity.class.getName())) { Log.i(TAG, "backClicked: " + OpinionActivity.backClicked); OpinionActivity.backClicked = true; } if (params[0].equals(HelpActivity.class.getName())) { Log.i(TAG, "backClicked: " + HelpActivity.backClicked); HelpActivity.backClicked = true; } } onBackPressed(); AnimateFirstDisplayListener.displayedImages.clear(); activity.finish(); } }; return clickListener; } @Override public void onBackPressed() { super.onBackPressed(); } protected OnClickListener goMerchantsSearch(final Activity activity) { OnClickListener clickListener = new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(activity, MerchantsSearchActivity.class); startActivity(intent); } }; return clickListener; } // @Override // public boolean onKeyDown(int keyCode, KeyEvent event) { // if(keyCode == KeyEvent.KEYCODE_BACK) { // // 监控返回键 // new Builder(QuhaoBaseActivity.this).setTitle("提示") // .setIconAttribute(android.R.attr.alertDialogIcon) // .setMessage("确定要退出吗?") // .setPositiveButton("确认", new DialogInterface.OnClickListener() { // @Override // public void onClick(DialogInterface dialog, int which) { //// QuhaoBaseActivity.this.finish(); //// finish(); //// System.exit(0); //// android.os.Process.killProcess(android.os.Process.myPid()); //// ActivityManager activityMgr=(ActivityManager)QuhaoBaseActivity.this.getSystemService(ACTIVITY_SERVICE); //// activityMgr.killBackgroundProcesses("com.withiter.quhao"); //// QuhaoBaseActivity.this.moveTaskToBack(true); //// Intent intent = new Intent(Intent.ACTION_MAIN); //// intent.addCategory(Intent.CATEGORY_HOME); //// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //// startActivity(intent); // }}) // .setNegativeButton("取消", null) // .create().show(); // return false; // } else if(keyCode == KeyEvent.KEYCODE_MENU) { // // 监控菜单键 //// Toast.makeText(QuhaoBaseActivity.this, "Menu", Toast.LENGTH_SHORT).show(); // return false; // } // return super.onKeyDown(keyCode, event); // } private static class AnimateFirstDisplayListener extends SimpleImageLoadingListener { static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>()); @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { if (loadedImage != null) { ImageView imageView = (ImageView) view; boolean firstDisplay = !displayedImages.contains(imageUri); if (firstDisplay) { FadeInBitmapDisplayer.animate(imageView, 500); displayedImages.add(imageUri); } } } } }