Android Activity 生命周期 跟踪完全程序。有日志输出的

package com.lx.activity.task;


import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;


public abstract class CommonActivity extends Activity implements Button.OnClickListener{


private Button btn;

private TextView tv;


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Log.i("test",this.getClass().getSimpleName()+" -onCreate()");

setContentView(R.layout.main);

btn = (Button)findViewById(R.id.btn);

btn.setOnClickListener(this);

tv = (TextView)findViewById(R.id.tv);


initView();

}


private void initView(){


setBtnName(btn);

setTvName(tv);


}


@Override

public void onClick(View v) {

Intent i = new Intent(this,getNextActivity());

startActivity(i);

}


protected abstract void setBtnName(Button btn);

protected abstract void setTvName(TextView tv);

protected abstract Class getNextActivity();


@Override

protected void onStart() {

// TODO Auto-generated method stub

super.onStart();

Log.i("test",this.getClass().getSimpleName()+" -onStart()");

}


@Override

protected void onRestart() {

// TODO Auto-generated method stub

super.onRestart();

Log.i("test",this.getClass().getSimpleName()+" -onRestart()");

}


@Override

protected void onResume() {

// TODO Auto-generated method stub

super.onResume();

Log.i("test",this.getClass().getSimpleName()+" -onResume()");

}


@Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();

Log.i("test",this.getClass().getSimpleName()+" -onPause()");

}


@Override

protected void onStop() {

// TODO Auto-generated method stub

super.onStop();

Log.i("test",this.getClass().getSimpleName()+" -onStop()");

}


@Override

protected void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

Log.i("test",this.getClass().getSimpleName()+" -onDestroy()");

}



}


================CommonActivity 结束=================


----Activity1---------

package com.lx.activity.task;


import android.widget.Button;

import android.widget.TextView;


public class Activity1 extends CommonActivity {


@Override

protected void setBtnName(Button btn) {

btn.setText("startActivity2");

}


@Override

protected void setTvName(TextView tv) {

tv.setText("Activity1");

}


@Override

protected Class getNextActivity() {

return Activity2.class;

}


}

-------Activity2---------

package com.lx.activity.task;


import android.widget.Button;

import android.widget.TextView;


public class Activity2 extends CommonActivity {


@Override

protected void setBtnName(Button btn) {

// TODO Auto-generated method stub

btn.setText("startActivity3");

}


@Override

protected void setTvName(TextView tv) {

// TODO Auto-generated method stub

tv.setText("Activity2");

}


@Override

protected Class getNextActivity() {

return Activity3.class;

}


}


---------Activity3-----------

package com.lx.activity.task;


import android.widget.Button;

import android.widget.TextView;


public class Activity3 extends CommonActivity {


@Override

protected void setBtnName(Button btn) {

// TODO Auto-generated method stub

btn.setText("startActivity4");

}


@Override

protected void setTvName(TextView tv) {

// TODO Auto-generated method stub

tv.setText("Activity3");

}


@Override

protected Class getNextActivity() {

// TODO Auto-generated method stub

return null;

}


}



------main.xml-----

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >


    <TextView

        android:id="@+id/tv"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Activity1"

        android:layout_gravity="center"/>


    <Button android:id="@+id/btn"

        android:text="StartActivity2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginTop="100px"

        android:layout_gravity="center"/>

</LinearLayout>

--------AndroidManifest.xml-------

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.lx.activity.task"

    android:versionCode="1"

    android:versionName="1.0" >


    <uses-sdk android:minSdkVersion="7" />


    <application

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name" >

        <activity

            android:name=".Activity1"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

         <activity

            android:name=".CommonActivity"/>

          <activity

            android:name=".Activity2"/>

           <activity

            android:name=".Activity3"/>

    </application>


</manifest>













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值