抽象Activity

今天看一個大神的Demo發現裏面的Activity繼承的是自己寫的共性的Activity,因爲是菜鳥,所以感覺很不懂,於是照本宣科,寫了一遍,從Android Studio中發現“抽象Activity”。於是寫了今天這個博客,也是我第一個博客。

下面一起學習抽象Activity吧!

在開發中,可以建立一個公共的Activity類,讓所有其他的Activity繼承這個類,在這個類中對頭部和尾部的數據進行處理。下面是我寫的抽象Activity的源碼。

package com.example.zes.myapplication;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;

public abstract class TextActivity extends Activity {//該處繼承Activity並將TextActivity聲明爲抽象屬性
    public TextView tv_title;//聲明公共的TextView控件
    public Context mContext;//上下文
    public LinearLayout ll_titleBar;//titleBar
    public LinearLayout ll_container;
    public View view ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mContext = TextActivity.this;
        setContentView(R.layout.activity_text);
        initTitle();
    }
    public void initLayout(int layoutID){//解析View
        ll_container = (LinearLayout)findViewById(R.id.ll_container);
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(layoutID,null);
        ll_container.addView(view);
        initView(view);
    }

    public void initTitle() {
        tv_title = (TextView) findViewById(R.id.tv_title);
        ll_titleBar = (LinearLayout) findViewById(R.id.ll_title_bar);
    }

    public abstract void initView(View view);
}
下面是主Activity的代碼:
package com.example.zes.myapplication;


import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends TextActivity {
    private Intent intent ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initLayout(R.layout.activity_main);
        initTitle();
        intent = new Intent();
    }
    public void initView(View view) {

    }
    public void initTitle() {
        super.initTitle();
        tv_title.setText("抽象Activity測試Demo");
    }
}
繼承抽象的Activity並對其方法進行復寫。(xml文件此處不給出,根據程序代碼可以自行創建)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章