• 第一行代码--笔记(2)


    知晓当前是在哪一个活动

    public class BaseActivity extends Activity {
    
    @Override
    
    protected void onCreate(Bundle savedInstanceState) {
    
        super.onCreate(savedInstanceState);
    
        Log.d("BaseActivity", getClass().getSimpleName());
    
      }
    
    }

    把所有的Activity改成继承BaseActivity

    随时随地退出程序

    新建一个ActivityCollector 类作为活动管理器,代码如下所示:

    public class ActivityCollector {
    
    public static List<Activity> activities = new ArrayList<Activity>();
    
    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();
    
    }
    
    }
    
    }
    
    }

    然后再BaseActivity里添加:

    onCreate()方法里添加ActivityCollector.addActivity(this);

    onDestroy()方法里添加ActivityCollector.removeActivity(this);

    从此以后,不管你想在什么地方退出程序,只需要调用ActivityCollector.finishAll()方法

    启动活动的最佳写法:

    修改SecondActivity 中的代码,如下所示:

    public class SecondActivity extends BaseActivity {
    
    public static void actionStart(Context context, String data1, String data2) {
    
    Intent intent = new Intent(context, SecondActivity.class);
    
    intent.putExtra("param1", data1);
    
    intent.putExtra("param2", data2);
    
    context.startActivity(intent);
    
    }
    
    ……
    
    }

    现在只需要一行代码就可以启动SecondActivity

    SecondActivity.actionStart(FirstActivity.this, "data1", "data2");

    UI控件的显示、透明、隐藏

    android:visibility进行指定,可选值有三种,visibleinvisible gonevisible 表示控件是可见的,这个值是默认值,不指定android:visibility 时,控件都是可见的。invisible 表示控件不可见,但是它仍然占据着原来的位置和大小,可以理解成控件变成透明状态了。gone 则表示控件不仅不可见,而且不再占用任何屏幕空间。我们还可以通过代码来设置控件的可见性,使用的是setVisibility()方法,可以传入View.VISIBLEView.INVISIBLE View.GONE 三种值。

  • 相关阅读:
    CMake 用法导览
    Irrlicht 1.8.4 + Win7 + VC2015 + x64 +OpenGL编译
    VirtualBox 5.1.14 获取VirtualBox COM对象错误
    CGAL Manual/tutorial_hello_world.html
    CGAL 介绍
    Open CASCADE 基础类(Foundation Classes)
    OpenCASCADE 基础
    Nginx 反向代理详解
    修改docker容器中的hosts文件
    Jmeter 设置连接oracle数据库
  • 原文地址:https://www.cnblogs.com/tero/p/5255784.html
Copyright © 2020-2023  润新知