/** * $id$ * Copyright 2011-2012 Renren Inc. All rights reserved. */ package com.renren.api.connect.android.common; import com.renren.api.connect.android.Renren; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.view.Window; import android.widget.Toast; /** * 请求窗口的父类,其中包含了对Renren对象的初始化<br> * 使用前,需要将Renren对象已Parcelable序列化方式传入intent中,例如 * * Intent intent = new Intent(xxxActivity, ARRActivity.class);<br> * Bundle bundle = new Bundle();<br> * bundle.putParcelable(Renren.RENREN_LABEL, renren);<br> * intent.putExtras(bundle);<br> * startActivity(intent); <br> * * 或: * * Intent intent = new Intent(xxxActivity, ARRActivity.class);<br> * intent.putExtra(Renren.RENREN_LABEL, this); * activity.startActivity(intent); * * <p>也可调用Renren提供的startRenrenRequestActivity方法,如:<br> * Intent intent = new Intent(xxxActivity, ARRActivity.class);<br> * renren.startRenrenRequestActivity(xxxActivity, intent);<br> * 该方法会辅助完整Renren以Parcel方式传入Activity的操作 * * @author Shaofeng Wang (shaofeng.wang@renren-inc.com) * */ public class AbstractRenrenRequestActivity extends Activity { /** * 用于发送请求的对象 */ protected Renren renren; /** * 异步上传显示进度框 */ ProgressDialog progressDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initRenren(); } /** * 初始化Renren对象 */ private void initRenren() { // 读取人人对象 Intent intent = getIntent(); if (intent.hasExtra(Renren.RENREN_LABEL)) { renren = intent.getParcelableExtra(Renren.RENREN_LABEL); renren.init(this); } else { Bundle bundle = intent.getExtras(); if (bundle != null && bundle.containsKey(Renren.RENREN_LABEL)) { renren = bundle.getParcelable(Renren.RENREN_LABEL); renren.init(this); } } } @Override protected void onDestroy() { /* * 解决横竖屏切换时的FC bug * 在Activity销毁的时候,进度框如果不显示销毁则会继续存在,当再次调用进度框的dismiss方法时会出现view not * attached to window manager异常 */ finishProgress(); super.onDestroy(); } /** * 显示异步上传时的等待进度框 * * @param message * 进度框内容文字 */ protected void showProgress(String message) { progressDialog = new ProgressDialog(this); progressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); progressDialog.setMessage(message); progressDialog.show(); } /** * 结束进度框 * * @param progress */ protected void finishProgress() { if (progressDialog != null) { progressDialog.dismiss(); } } /** * 显示Toast提示 * * @param message */ protected void showTip(String message) { Toast.makeText(this, message, Toast.LENGTH_SHORT) .show(); } }