利用反射实例化功能单元。 3. 建立独自功能的类:
class NameAModel extends BaseModel{ protected void initTitle(){ //A.... } } class NameBModel extends BaseModel{ protected void initTitle(){ //B.... } }4.实例化功能单元:在所需要的activity中,
private static final String INTENT_MODEL_CLASS_NAME = "intent_model_class_name"; public static void startActivity(Context context, Class<? extends BaseModel> modelClass) { Intent intent = new Intent(context, activity.class); intent.putExtra(INTENT_MODEL_CLASS_NAME, modelClass.getName()); context.startActivity(intent); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... try{ Class<? extends BaseModel> model = Class.forName(intent.getStringExtra(INTENT_MODEL_CLASS_NAME); Constructor con = model.newInstance(); con.initTitle(); }catch{ } }