要实现的具体过程,在界面上弹出一个对话框,让用户无法进行任何其他操作,必须点击对话框中的确定按钮,然后回到登陆界面。
新建一个BroadcastBestPractice项目
先创建一个ActivityCollector类用于管理所有活动
> package com.example.broadcastpractice;
>
> import java.util.ArrayList; import java.util.List;
>
> import android.app.Activity;
>
> 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类作为所有活动> package com.example.broadcastpractice;
import android.app.Activity; import android.os.Bundle;
public class BaseActivity extends Activity{ protected void
onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ActivityCollector.addActivity(this); } public void onDestory(){
super.onDestroy(); ActivityCollector.removeActivity(this); } }
是登陆的布局文件 login.xml
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="1"
>
<TableRow>
<TextView
android:layout_height="wrap_content"
android:text="Account:"
/>
<EditText
android:id="@+id/account"
android:layout_height="wrap_content"
android:hint="Input your account"
/>
</TableRow>
<TableRow>
<TextView
android:layout_height="wrap_content"
android:text="Password:"
/>
<EditText
android:id="@+id/password"
android:layout_height="wrap_content"
android:inputType="textPassword"
/>
</TableRow>
<TableRow>
<Button
android:id="@+id/login"
android:layout_height="wrap_content"
android:layout_span="2"
android:text="Login"
/>
</TableRow>
</TableLayout>
新建LoginActivity继承BaseActivity
看下一篇继续讲解