多個Activity共用相同佈局或者相同控件

1.多個Activity共用相同佈局或者相同控件:避免重複代碼;

BaseActivit代碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class BaseActivity extends Activity implements OnClickListener
{
    /*
     * 多個Activity共用相同佈局或者相同控件
     * 寫個基類繼承,避免重複代碼
     */
    @Override
    public void onClick(View v)
    {
        switch (v.getId())
        {
        case R.id.common_titlebar_btn_back:
            finish();
            break;
        default:
            break;
        }
        baseOnClick(v);
    }
                  
    protected void baseOnClick(View v)
    {
                      
    }
                  
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_base);
    }
                  
    @Override
    protected void onResume()
    {
        super.onResume();
        onPostOnCreate();
    }
                  
    public final void onPostOnCreate()//find同一個控件
    {
        findViewById(R.id.common_titlebar_btn_back).setOnClickListener(this);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        getMenuInflater().inflate(R.menu.base, menu);
        return true;
    }
}


子類代碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class ThirdActivity extends BaseActivity
{
    /**
     *  layout裏複用同一佈局:
     *     <include
     *   android:id="@+id/include1"
     *   layout="@layout/common_titlebar" />
     */
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_third_main);
    }
}
發佈了22 篇原創文章 · 獲贊 22 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章