学习笔记(安卓)5.20

管理活动的技巧
掌握使用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():显示对话框

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值