知晓当前是在哪一个活动
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进行指定,可选值有三种,visible、invisible 和gone。visible 表示控件是可见的,这个值是默认值,不指定android:visibility 时,控件都是可见的。invisible 表示控件不可见,但是它仍然占据着原来的位置和大小,可以理解成控件变成透明状态了。gone 则表示控件不仅不可见,而且不再占用任何屏幕空间。我们还可以通过代码来设置控件的可见性,使用的是setVisibility()方法,可以传入View.VISIBLE、View.INVISIBLE 和View.GONE 三种值。
原文:http://www.cnblogs.com/tero/p/5255784.html