package com.jleo;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
public abstract class Action {
public void setActivity(Activity activity) {
this.activity = activity;
}
public void apply(Activity activity) {
apply(activity, null);
}
public void apply(Activity activity, Action precedentAction) {
apply(activity,precedentAction,true);
}
public void apply(Activity activity, Action precedentAction,boolean setContentView4Me) {
this.setActivity(activity);
this.precedentAction = precedentAction;
if(setContentView4Me)
activity.setContentView(getViewId());
apply();
}
public SharedPreferences getSharedPreferences(String preferenceName){
return activity.getSharedPreferences(preferenceName, 0);
}
abstract void apply();
public abstract int getViewId();
public abstract void unapply(Activity activity);
public <T> T findViewById(int id, Class<T> c) {
return c.cast(activity.findViewById(id));
}
public Context getApplicationContext() {
return activity.getApplicationContext();
}
public <T> T getSystemService(String locationService, Class<T> clazz) {
return (T) activity.getSystemService(locationService);
}
public void showDialog(int dialogId) {
activity.showDialog(dialogId);
}
public <T extends Action> void forward(Class<T> clazz, Action previousAction) {
previousAction.unapply(activity);
try {
clazz.newInstance().apply(activity, previousAction);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
}
protected Activity activity;
protected Action precedentAction;
public void alert(int titleId) {
new AlertDialog.Builder(activity).setIcon(R.drawable.alert_dialog_icon)
.setTitle(titleId).setSingleChoiceItems(R.array.ok, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
dialog.dismiss();
}
}).show();
}
public void alert(String title) {
new AlertDialog.Builder(activity).setIcon(R.drawable.alert_dialog_icon)
.setTitle(title).setSingleChoiceItems(R.array.ok, 0,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
dialog.dismiss();
}
}).show();
}
}
分享到:
相关推荐
标题中的“Python库 | sasa-0.2.0-py3-none-any.whl”指的是一个特定版本的Python第三方库,名为sasa,版本号为0.2.0。这个库是为Python 3编写的,因为文件名中包含"py3"。"none-any"部分通常表示该库不依赖特定的...
标题中的"Python库 | sasa_phys-0.1-py3-none-any.whl"表明这是一个Python库,名为`sasa_phys`,版本号为0.1,适用于Python 3环境,且不依赖特定的硬件架构("none"表示不特定于任何平台)和Python实现("any"表示...
dr-sasa-生物分子的溶剂可及表面积计算软件 dr-sasa是用于生物分子的溶剂可访问表面积计算软件,支持蛋白质,DNA,RNA和配体输入。 输入文件可以是PDB或MOL2格式。 PDB格式文件将使用NACCESS兼容的VdW半径查找表,而...
Sasa,作为一个针对.NET框架的开源扩展集合,旨在提供一系列高级功能,以增强开发者在构建应用程序时的效率和灵活性。这个库特别关注网络操作、通用运算符处理、LINQ表达式管理和解析等多个关键领域,为.NET开发带来...
**SASA工具:SWATH-Auto System Analyzer的详解** SWATH-Auto System Analyzer(SASA工具)是一款专为非目标代谢组学数据分析设计的高效工具,它基于SWATH(Sequential Window Acquisition of All Theoretical Mass...
资源来自pypi官网。 资源全名:sasa-0.2.0-py3-none-any.whl
资源来自pypi官网。 资源全名:sasa_phys-0.1-py3-none-any.whl
### SAS Programming II: Manipulating Data with the DATA Step #### 一、课程介绍 **SAS Programming II: Manipulating Data with the DATA Step** 是一个高级的数据处理课程,旨在帮助用户掌握如何利用SAS软件...
在“team-sasa:Sprint 4-项目”中,我们可以推断这是一项团队协作的软件开发任务,已经进入了第四次迭代或冲刺阶段。Sprint 是敏捷开发中的一个关键概念,通常指的是在一个固定的时间周期(例如一周或两周)内,团队...
莎莎关于SA-IS 算法对 SuffixArray 构造的实现。要求加++ 提升最小测试# yum install boost-devel测试 $ g++ -O2 -Wall test.cpp$ ./a.out
`freesasa`是一个强大的开源工具,专门用于计算分子溶剂可及表面积(Solvent Accessible Surface Area,简称SASA),这是一种量化分子表面暴露于溶液中的面积的方法。SASA在药物设计、蛋白质结构分析、分子动力学...
"charis:SASA"项目是一个基于JavaScript的前端框架或者库,主要用于构建用户界面。从提供的信息来看,"charis"可能是一个专为SASA(可能是某种特定的软件架构、设计模式或者技术标准)定制的JavaScript工具。由于...
光纤通信中耦合的Sasa-Satsuma系统通过强度重新分布而发生形状改变的亮孤子碰撞
Bright-soliton collisions with shape change by intensity redistribution for the coupled Sasa-Satsuma system in the optical fiber communications
"comate-intellij-2.3.0.zip"是一个压缩包文件,其名称暗示着它包含的是一个名为"Comate"的IntelliJ IDEA插件的版本2.3.0。IntelliJ IDEA是一款非常流行的Java开发集成环境,由JetBrains公司开发。...
针对视频监控设备中的本安供电电源存在抗输入电压波动能力小、体积大、自适应性差、效率低等问题,提出了基于Buck与反激拓扑相结合的输出本安电源设计方案。该方案不仅实现了电源输入与输出之间的可靠隔离,同时使本安...
FreeSASA(Fast and Versatile Surface Area SASA)是一个快速、灵活的软件,用于计算蛋白质的 solvent accessible surface area (SASA)。SASA是衡量蛋白质分子在溶剂(通常为水)中的暴露程度的一个度量,这对于...