管理活动的技巧
掌握使用BaseActivity来理清活动界面所对应的class
首先在com.xxxx.xxx包中创建Java Class,取名为BaseActivity,并继承AppCompatActivity,然后让所有的原本己成AppCompatActivity的代码都改成己成BaseActivity
掌握使用List类来管理活动
新建一个ACtivityCollector类作为管理器
销毁当前活动的时候并将管理器里的活动删除(ActivityCollector.removeActivity(this));
想从当前活动直接销毁所有的活动:ActivityCollector.finshAll();
启动活动的最佳写法
掌握将启动活动写成一个类,方便管理和阅读
例子:将数据从FirstActivity传递到SecondActivity
SecondActivity.java:
能够屏蔽掉其他空间的交互能力,并且位于所有界面元素之上的对话框
Alertdialog.Builder:创建实例
setMessage():设置内容
setCancelable():设定是否能用back取消
setTitle():设置标题
setPositiveButton():设置确定按钮的点击事件
setNegativeButton():设置取消按钮的点击事件
show():显示对话框
掌握使用BaseActivity来理清活动界面所对应的class
首先在com.xxxx.xxx包中创建Java Class,取名为BaseActivity,并继承AppCompatActivity,然后让所有的原本己成AppCompatActivity的代码都改成己成BaseActivity
最后重写onCreate代码,重写代码如下:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("BaseActivity",getClass().getSimpleName());
}
随时随地退出程序
掌握使用List类来管理活动
新建一个ACtivityCollector类作为管理器
public class ActivityCollector {
public static List<Activity> activities=new ArrayList<>();
//加入活动
public static void addActivity(Activity activity){
activities.add(activity);
}
//销毁活动
public static void removeActivity(Activity activity){
activities.remove(activity);
}
//销毁所有活动
public static void finishAll(){
for (Activity activity:activities){
if(!activity.isFinishing()){
activity.finish();
}
}
activities.clear();
}
}
然后在创建活动的时候并将活动加入到管理器里(ActivityCollector.addActivity(this));
销毁当前活动的时候并将管理器里的活动删除(ActivityCollector.removeActivity(this));
想从当前活动直接销毁所有的活动:ActivityCollector.finshAll();
启动活动的最佳写法
掌握将启动活动写成一个类,方便管理和阅读
例子:将数据从FirstActivity传递到SecondActivity
SecondActivity.java:
public static void actionStart(Context context, String data1, String data2){
Intent intent=new Intent(context,SecondActivity.class);
intent.putExtra("parma1",data1);
intent.putExtra("parma2",data2);
// Log.d(TAG,data1+" "+data2);
context.startActivity(intent);
}
FirstActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
// Log.d(TAG,"Task id is "+getTaskId());
Button button1=(Button) findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SecondActivity.actionStart(FirstActivity.this,"1+1=2","2+2=4");
}
});
}
AlertDialog
能够屏蔽掉其他空间的交互能力,并且位于所有界面元素之上的对话框
Alertdialog.Builder:创建实例
setMessage():设置内容
setCancelable():设定是否能用back取消
setTitle():设置标题
setPositiveButton():设置确定按钮的点击事件
setNegativeButton():设置取消按钮的点击事件
show():显示对话框