1. 程式人生 > >Android工具類----Activity之間的跳轉

Android工具類----Activity之間的跳轉

簡述:

    Activity之間的跳轉情況,在這裡分兩種討論:帶參跳轉和無參跳轉.

程式碼:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

import android.app.Activity;
import android.content.Intent;

public class ActivitySkipUtil {

	public ActivitySkipUtil() {
		throw new UnsupportedOperationException("ActivitySkipUtil不能例項化");
	}

	/**
	 * 功能描述:簡單地Activity的跳轉(不攜帶任何資料)
	 * 
	 * @Time 2016年4月25日
	 * @Author lizy18
	 * @param activity
	 *            發起跳轉的Activity例項
	 * @param TargetActivity
	 *            目標Activity例項
	 */
	public static void skipAnotherActivity(Activity activity,
			Class<? extends Activity> cls) {
		Intent intent = new Intent(activity, cls);
		activity.startActivity(intent);
		activity.finish();
	}

	/**
	 * 功能描述:帶資料的Activity之間的跳轉
	 * 
	 * @Time 2016年4月25日
	 * @Author lizy18
	 * @param activity
	 * @param cls
	 * @param hashMap
	 */
	public static void skipAnotherActivity(Activity activity,
			Class<? extends Activity> cls,
			HashMap<String, ? extends Object> hashMap) {
		Intent intent = new Intent(activity, cls);
		Iterator<?> iterator = hashMap.entrySet().iterator();
		while (iterator.hasNext()) {
			@SuppressWarnings("unchecked")
			Map.Entry<String, Object> entry = (Entry<String, Object>) iterator
					.next();
			String key = entry.getKey();
			Object value = entry.getValue();
			if (value instanceof String) {
				intent.putExtra(key, (String) value);
			}
			if (value instanceof Boolean) {
				intent.putExtra(key, (boolean) value);
			}
			if (value instanceof Integer) {
				intent.putExtra(key, (int) value);
			}
			if (value instanceof Float) {
				intent.putExtra(key, (float) value);
			}
			if (value instanceof Double) {
				intent.putExtra(key, (double) value);
			}
		}
		activity.startActivity(intent);
	}
}